Skip to main content

filter

_.filter(predicate, collection) # Ⓢ [Ⓣ][1] Ⓝ

Iterates over elements of collection, returning an array of all elements



predicate returns truthy for. The predicate is invoked with three



arguments: (value, index|key, collection).





Note: Unlike _.remove, this method returns a new array.

Since​

0.1.0

Arguments​

  1. predicate (Function): The function invoked per iteration.
  2. collection (Array|Object): The collection to iterate over.

Returns​

(Array): Returns the new filtered array.

Example​

var users = [
{ 'user': 'barney', 'age': 36, 'active': true },
{ 'user': 'fred', 'age': 40, 'active': false }
];

_.filter(function(o) { return !o.active; }, users);
// => objects for ['fred']

// The `_.matches` iteratee shorthand.
_.filter({ 'age': 36, 'active': true }, users);
// => objects for ['barney']

// The `_.matchesProperty` iteratee shorthand.
_.filter(['active', false], users);
// => objects for ['fred']

// The `_.property` iteratee shorthand.
_.filter('active', users);
// => objects for ['barney']

// Combining several predicates using `_.overEvery` or `_.overSome`.
_.filter(_.overSome([{ 'age': 36 }, ['age', 40]]), users);
// => objects for ['fred', 'barney']