Skip to main content

partition

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

Creates an array of elements split into two groups, the first of which



contains elements predicate returns truthy for, the second of which



contains elements predicate returns falsey for. The predicate is



invoked with one argument: (value).

Since​

3.0.0

Arguments​

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

Returns​

(Array): Returns the array of grouped elements.

Example​

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

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

// The `_.matches` iteratee shorthand.
_.partition({ 'age': 1, 'active': false }, users);
// => objects for [['pebbles'], ['barney', 'fred']]

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

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