博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lodash速览:数组方法(一)
阅读量:6033 次
发布时间:2019-06-20

本文共 3060 字,大约阅读时间需要 10 分钟。

1、_.chunk(array, [size]):将一个数组按照一定的长度分割为N个数组。

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

2、_.compact(array):过滤数组中布尔值为false的值,如false, null, 0, "", undefined, and NaN。

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

3、_.concat(array, [values]):数组连接,返回新数组。values里的数组将被降维拉伸。

var array = [1];var other = _.concat(array, 2, [3], [[4]]);console.log(other);        // => [1, 2, 3, [4]]

4、_.difference(array, [values]):将数组里值不相同的项找到并组成一个新的数组。

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

相似方法:

_.differenceBy(array, [values], [iteratee=_.identity]):跟difference相似,但可以接收一个迭代函数。
_.differenceWith(array, [values], [comparator]):跟difference相似,但可以接收一个比较函数。

5、_.drop(array, [n=1]):删除数组的前N项。

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

相似方法:

_.dropRight(array, [n=1]):删除数组的后N项。
_.dropRightWhile(array, [predicate=_.identity]):接收一个过滤参数,将不合格的数组项删除。
_.dropWhile(array, [predicate=_.identity]):用法同上,一个从尾部开始比较,一个从头部开始比较。

6、_.fill(array, value, [start=0], [end=array.length]):填充数组,将数组的第start项到第end项填充为value。

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

7、_.findIndex(array, [predicate=_.identity], [fromIndex=0]):从fromIndex开始查找数组中符合筛选条件的值的下标。

var users = [  { 'user': 'barney',  'active': false },  { 'user': 'fred',    'active': false },  { 'user': 'pebbles', 'active': true }];_.findIndex(users, function(o) { return o.user == 'barney'; });        // => 0

相似方法:

_.findLastIndex(array, [predicate=_.identity], [fromIndex=array.length-1]):从尾部开始查找。

8、_.flatten(array):将数组降一个维度进行拉伸。

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

相似方法:

_.flattenDeep(array):将数组完全拉伸。
_.flattenDepth(array, [depth=1]):将数组降n维进行拉伸。

9、_.fromPairs(pairs):将数组转为key-value的对象。

_.fromPairs([['a', 1], ['b', 2]]);        // => { 'a': 1, 'b': 2 }

互补方法:

_.toPairs(object):将对象转为一个key-value的数组。

10、_.head(array):返回数组的第一项。

_.last(array):返回数组的最后一项。

11、_.indexOf(array, value, [fromIndex=0]):查找某个值在数组的下标。

_.**lastIndexOf**(array, value, [fromIndex=array.length-1]):从后往前查找。

12、_.initial(array):获取数组除最后一项的所有值,相当于删除最后一项。

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

13、_.intersection([arrays]):找出相同的数组项。将数组里值相同的项找到并组成一个新的数组。

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

相似方法:

_.intersectionBy([arrays], [iteratee=_.identity]):略。
_.intersectionWith([arrays], [comparator]):略。
互补方法:
_.difference(array, [values]):见上面第4条。
_.differenceBy(array, [values], [iteratee=_.identity]):见上面第4条。
_.differenceWith(array, [values], [comparator]):见上面第4条。

14、_.join(array, [separator=',']):数组拼接成字符串。类原生.join方法。

_.**reverse**(array):翻转数组,类似原生。_.**slice**(array, [start=0], [end=array.length]):数组从start项到end项切割成一个新数组。类似原生。

15、_.nth(array, [n=0]):取出数组的第n项。类似原生array[n]。

16、_.pull(array, [values]):从一个数组中删除某些value。

var array = ['a', 'b', 'c', 'a', 'b', 'c'];_.pull(array, 'a', 'c');console.log(array);        // => ['b', 'b']

相似方法:

_.pullAll(array, values):参数可以接收一个数组。
_.pullAllBy(array, values, [iteratee=_.identity]):参数可以接收过滤函数。
_.pullAllWith(array, values, [comparator]):略。
_.pullAt(array, [indexes]):删除数组的下标对应的值。

17、_.remove(array, [predicate=_.identity]):删除数组中符合条件的项。

转载地址:http://iedhx.baihongyu.com/

你可能感兴趣的文章
uva 673 Parentheses Balance
查看>>
Bzoj 2252: [2010Beijing wc]矩阵距离 广搜
查看>>
css 禁止选中文本
查看>>
bzoj2165
查看>>
tomcat 配置首页
查看>>
算术运算表达式正则及分析
查看>>
Oracle 12c 多租户 手工创建 pdb 与 手工删除 pdb
查看>>
shell初涉
查看>>
[浪子学编程][MS Enterprise Library]ObjectBuilder之创建策略祥解(二)
查看>>
ASP.NET 中设置路径的三种方式
查看>>
EBS使用 Distributed AD在多个节点并行adpatch
查看>>
windows添加和删除服务
查看>>
关于云栖,有点无语的几个地方,管理能不能管?
查看>>
Windows线程的同步与互斥
查看>>
C#进阶系列——MEF实现设计上的“松耦合”(四):构造函数注入
查看>>
AngularJs ng-change事件/指令(转)
查看>>
linux系统下安装两个或多个tomcat
查看>>
ProtoBuffer 简单例子
查看>>
iOS多线程开发系列之(一)NSThread
查看>>
微信小程序初体验(上)- 腾讯ISUX社交用户体验设计成员出品
查看>>