partition

_.partition(collection, [predicate=_.identity])

创建一个拆分为两部分的数组。 第一部分是 predicate 检查为真值的,第二部分是 predicate 检查为假值的。 predicate 会传入3个参数:(value, index|key, collection)。

参数

  1. collection (Array|Object)

    需要遍历的集合

  2. [predicate=_.identity] (Function|Object|string)

    这个函数会处理每一个元素

返回值 (Array)

返回分组元素的数组

示例

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

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

// 使用了 `_.matches` 的回调结果
_.partition(users, { 'age': 1, 'active': false });
// => 结果: [['pebbles'], ['barney', 'fred']]

// 使用了 `_.matchesProperty` 的回调结果
_.partition(users, ['active', false]);
// => 结果: [['barney', 'pebbles'], ['fred']]

// 使用了 `_.property` 的回调结果
_.partition(users, 'active');
// => 结果: [['fred'], ['barney', 'pebbles']]