dropRightWhile source npm

_.dropRightWhile(array, [predicate=_.identity])

从右边开始裁剪数组,起点从 predicate 返回假值开始。predicate 会传入3个参数:(value, index, array)。

参数

  1. array (Array)

    需要处理的数组

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

    这个函数会在每一次迭代调用

返回值 (Array)

返回裁剪后的数组

示例

var resolve = _.partial(_.map, _, 'user');

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

resolve( _.dropRightWhile(users, function(o) { return !o.active; }) );
// => ['barney']

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

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

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