_.dropWhile(开头丢掉元素)
语法:
_.dropWhile(array, [predicate=_.identity])
源代码链接:source
npm包链接:npm package
描述:
创建一个切片数组,去除array中从开头开始到 predicate 返回假值结束部分。predicate 会传入3个参数: (value, index, array)。
开始版本:3.0.0
参数:
array (Array)
: 需要处理的数组。[predicate=_.identity] (Function)
: 每个迭代函数调用。
返回值:
array (Array)
: 返回切片后新数组。
例子:
var users = [
{ 'user': 'barney', 'active': false },
{ 'user': 'fred', 'active': false },
{ 'user': 'pebbles', 'active': true }
];
_.dropWhile(users, function(o) { return !o.active; });
// => objects for ['pebbles']
// The `_.matches` iteratee shorthand.
_.dropWhile(users, { 'user': 'barney', 'active': false });
// => objects for ['fred', 'pebbles']
// The `_.matchesProperty` iteratee shorthand.
_.dropWhile(users, ['active', false]);
// => objects for ['pebbles']
// The `_.property` iteratee shorthand.
_.dropWhile(users, 'active');
// => objects for ['barney', 'fred', 'pebbles']
解析:经过看官方的列子,一脸萌比,主要是官方的注释太迷惑(objects for),后来自己执了下结果后官方提供的结果不同,使用版本为[email protected].
下面的例子结果应该更好理解一下,只是从数组的后面开始进行判断,知道返回false结束。
var users = [ { 'user': 'barney', 'active': true }, { 'user': 'fred', 'active': false }, { 'user': 'pebbles', 'active': false } ]; _.dropRightWhile(users, function(o) { return !o.active; }); [ { user: 'pebbles', active: true } ] // The `_.matches` iteratee shorthand. _.dropRightWhile(users, { 'user': 'pebbles', 'active': false }); // => [ { user: 'fred', active: false },{ user: 'pebbles', active: true } ] // The `_.matchesProperty` iteratee shorthand. _.dropRightWhile(users, ['active', false]); // => [ { user: 'pebbles', active: true } ] // The `_.property` iteratee shorthand. _.dropRightWhile(users, 'active'); // [ { user: 'barney', active: false },{ user: 'fred', active: false },{ user: 'pebbles', active: true } ]
注意:不同的方式代表:_.matches
,_.matchesProperty
,_.property
的简写法
资料
Last updated
Was this helpful?