function testAndAdd (prop) {
            if (seen[prop] !== true && f(x[prop], prop)) {
                out[prop] = x[prop];
                seen[prop] = true;
            }
        }
Retrieves copies of all the elements in the collection
that satisfy a given predicate. Note: When using ES3,
only enumerable elements are selected. Both enumerable
and non-enumerable elements are selected when using ES5.

@id pickBy
@section Transforms
@name Stream.pickBy(f)
@param {Function} f - the predicate function
@api public

 var dogs = [
     {breed: 'chihuahua', name: 'Princess', age: 5},
     {breed: 'labrador', name: 'Rocky', age: 3},
     {breed: 'german-shepherd', name: 'Waffles', age: 9}
 ];
 _(dogs).pickBy(function (value, key) {
     return value > 4;
 }).toArray(function (xs) {
   // xs is now:
   [
     { age: 5 },
     {},
     { age: 9 }
   ]
 });