美文网首页
Lodash之Array(1)

Lodash之Array(1)

作者: windole | 来源:发表于2017-05-31 17:22 被阅读0次

    _.chunk(array, [size=1])

    将array拆分成多个size长度的块,把这些块组成一个新数组。 如果array无法被分割成全部等长的块,那么最后剩余的元素将组成一个块。

    参数

    array(Array): 需要被处理的数组。

    [size=1](number): 每个块的长度。

    返回值

    (Array): 返回一个包含拆分块数组的新数组(相当于一个二维数组)。

    例子

    _.chunk(['a','b','c','d'],2);// => [['a', 'b'], ['c', 'd']]

    _.chunk(['a','b','c','d'],3);// => [['a', 'b', 'c'], ['d']]

    _.compact(array)

    创建一个新数组并包含原数组中所有的非假值元素。例如false、null、0、""、undefined和NaN都是“假值”。

    参数

    array(Array): 数组参数.

    返回值

    (Array): 返回过滤假值后的数组.

    例子

    _.compact([0,1,false,2,'',3]);// => [1, 2, 3]

    _.difference(array,[values])

    创建一个新数组并排除掉原数组需要排除掉的值

    参数

    array(Array): 需要过滤的数组

    [values](...Array): 数组需要排除掉的值

    返回值

    (Array): 返回过滤后的数组

    例子

    _.difference([1,2,3],[4,2]);// => [1, 3]

    _.difference([1,'2',3],[4,2]);// => [1, "2", 3]

    _.drop(array,[n=1])

    将array中的前n个元素去掉,然后返回剩余的部分。

    参数

    array(Array): 被操作的数组。

    [n=1](number): 去掉的元素个数。

    返回值

    (Array): 返回array的剩余部分。

    例子

    _.drop([1,2,3]);// => [2, 3] 默认是1开始的

    _.drop([1,2,3],2);// => [3]

    _.drop([1,2,3],5);// => []

    _.drop([1,2,3],0);// => [1, 2, 3]

    _.dropRight(array,[n=1])

    将array尾部的n个元素去除,并返回剩余的部分。

    参数

    array(Array): 需要被处理数组。

    [n=1](number): 去掉的元素个数。

    返回值

    (Array): 返回array的剩余部分。

    例子

    _.dropRight([1,2,3]);// => [1, 2]

    _.dropRight([1,2,3],2);// => [1]

    _.dropRight([1,2,3],5);// => []

    _.dropRight([1,2,3],0);// => [1, 2, 3]

    _.dropRightWhile(array,[prediccate=_.identity],[thisArg])

    从尾端查询(右数)数组array,第一个不满足predicate条件的元素开始截取数组.thisArg为predicate条件执行上下文对象绑定的参数 .

    参数predicate提供的是一个属性名称,就通过提供的参数使用_.property方法返回一个回调函数

    如果参数thisArg提供的话,就使用_.matchesProperty方法匹配相同的属性值,相同返回true,不同返回false

    如果参数predicate提供的是一个对象,就使用_.matches方法匹配相同的元素,相同返回true,不同返回false

    参数

    array(Array): 需要查询的数组

    [predicate=_.identity](Function|Object|string): 数组迭代判断条件

    [thisArg](*): 对应predicate属性的值.

    返回值

    (Array): 返回截取元素后的数组

    例子

    _.dropRightWhile([1,2,3],function(n){returnn>1;});// => [1]

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

    // using the `_.matches` callback shorthand

    _.pluck(_.dropRightWhile(users,{'user':'pebbles','active':false}),'user');// => ['barney', 'fred']

    // using the `_.matchesProperty` callback shorthand

    _.pluck(_.dropRightWhile(users,'active',false),'user');// => ['barney']

    // using the `_.property` callback shorthand

    _.pluck(_.dropRightWhile(users,'active'),'user');// => ['barney', 'fred', 'pebbles']

    _.dropWhile(array,[predicate=_.identity],[thisArg]

    从开头查询(左数起)数组array,第一个不满足predicate条件的元素开始截取数组.thisArg为predicate条件执行上下文对象绑定的参数 .

    参数predicate提供的是一个属性名称,就通过提供的参数使用_.property方法返回一个回调函数

    如果参数thisArg提供的话,就使用_.matchesProperty方法匹配相同的属性值,相同返回true,不同返回false

    如果参数predicate提供的是一个对象,就使用_.matches方法匹配相同的元素,相同返回true,不同返回false

    参数

    array(Array): 需要查询的数组

    [predicate=_.identity](Function|Object|string): 数组遍历的条件

    [thisArg](*): 对应predicate属性的值.

    返回值

    (Array): 返回截取元素后的数组

    例子

    _.dropWhile([1,2,3],function(n){returnn<3;});// => [3]

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

    // using the `_.matches` callback shorthand

    _.pluck(_.dropWhile(users,{'user':'barney','active':false}),'user');// => ['fred', 'pebbles']

    // using the `_.matchesProperty` callback shorthand

    _.pluck(_.dropWhile(users,'active',false),'user');// => ['pebbles']

    // using the `_.property` callback shorthand

    _.pluck(_.dropWhile(users,'active'),'user');// => ['barney', 'fred', 'pebbles']

    _.fill(array,value,[start=0],[end=arr.length])

    使用value值来填充(也就是替换)array,从start位置开始, 到end位置结束(但不包含end位置)

    Note:这是个改变数组的方法

    参数

    array(Array): 需要填充的数组.

    value(*): 填充array元素的值.

    [start=0](number): 起始位置(包含)

    [end=array.length](number): 结束位置(不含)

    返回值

    (Array): 返回array.

    例子

    var array=[1,2,3];

    _.fill(array,'a');console.log(array);// => ['a', 'a', 'a']

    _.fill(Array(3),2);// => [2, 2, 2]

    _.fill([4,6,8],'*',1,2);// => [4, '*', 8]

    _.findIndex(array,[prodicate=_.identity],[thisArg])

    该方法类似_.find,区别是该方法返回的是符合predicate条件的第一个元素的索引,而不是返回元素本身.

    参数predicate提供的是一个属性名称,就通过提供的参数使用_.property方法返回一个回调函数

    如果参数thisArg值提供的话,就使用_.matchesProperty方法匹配相同的属性值,相同返回true,不同返回false

    如果参数predicate提供的是一个对象,就使用_.matches方法匹配相同的元素,相同返回true,不同返回false

    参数

    array(Array): 需要搜索的数组

    [predicate=_.identity](Function|Object|string): 数组遍历满足的条件

    [thisArg](*): 对应predicate属性的值.

    返回值

    (number): 返回符合查询条件的元素的索引值, 未找到则返回-1.

    例子

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

    _.findIndex(users,function(chr){returnchr.user=='barney';});// => 0// 

    using the `_.matches` callback shorthand

    _.findIndex(users,{'user':'fred','active':false});// => 1

    // using the `_.matchesProperty` callback shorthand

    _.findIndex(users,'active',false);// => 0

    // using the `_.property` callback shorthand

    _.findIndex(users,'active');// => 2

    _.findLastindex(array,[predicate=_.identity],[thisArg])

    该方法类似_.findIndex,区别是其从右到左遍历数组.

    该方法类似_.find,区别是该方法返回的是符合predicate条件的第一个元素的索引,而不是返回元素本身.

    参数predicate提供的是一个属性名称,就通过提供的参数使用_.property方法返回一个回调函数

    如果参数thisArg值提供的话,就使用_.matchesProperty方法匹配相同的属性值,相同返回true,不同返回false

    如果参数predicate提供的是一个对象,就使用_.matches方法匹配相同的元素,相同返回true,不同返回false

    参数

    array(Array): 需要查询的数组

    [predicate=_.identity](Function|Object|string): 遍历数组条件

    [thisArg](*): Thethisbinding ofpredicate.

    返回值

    (number): 返回匹配数组元素的索引值, 否则返回-1.

    例子

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

    _.findLastIndex(users,function(chr){returnchr.user=='pebbles';});// => 2

    // using the `_.matches` callback shorthand

    _.findLastIndex(users,{'user':'barney','active':true});// => 0

    // using the `_.matchesProperty` callback shorthand

    _.findLastIndex(users,'active',false);// => 2

    // using the `_.property` callback shorthand

    _.findLastIndex(users,'active');// => 0

    相关文章

      网友评论

          本文标题:Lodash之Array(1)

          本文链接:https://www.haomeiwen.com/subject/tbjjfxtx.html