lodash工具库(js)
一、中文网地址
https://www.lodashjs.com/
二、简介
1.lodash是啥?
lodash是一个一致性、模块化、高性能的js使用工具库,
2.为什么选择lodash?
lodash通过降低array、number、objectss、string等的使用难度从而让js变得更简单。lodash的模块化方法非常适用于:
- 遍历array、object和string
- 对值进行操作和检测
- 创建符合功能和函数
三、案例
1._chunk(将...拆分成多少份)
_.chunk(array,[size=1])
将数组array拆分成多个size长度的区块,并将这些区块组成新数组。如果array无法被分割成全部等长的区块,那么最后剩下的元素将组成一个区块。
参数:
1.array需要处理的数组
2.【size=1】(number):每个数组区块的长度
返回:返回一个包含拆分区块的长度
例子:
_.chunk(['a','b','c','d'],2); //=>[['a','b'],['c','d']] _.chunk(['a','b','c','d'],3); //=>[['a','b','c'],['d']];
2._.remove
_.remove(array,[predicate=_.identity])
移除数组中predicate返回为真值的所有元素,并返回移除元素组成新数组
参数:
1.array:要修改的数组
2.【predicate=_.idebtity】:每次迭代调用的函数
返回:返回移除元素组成的新数组
例子:
var array=[1,2,3,4]; var evens=_.remove(array,function(item){return n%2==0}); console.log(array) //=>[1,3] console.log(evens); //=>[2,4]
3._isEmpty
_.isEmpty(value)
检查value是否为一个空对象,集合,映射或者set.判断的依据是除非有枚举属性的对象,length大于0的arguments Object,array,string
对象如果被认为为空,那么他们没有自己的可枚举属性的对象。
类数组值,比如arguments对象,array,buffer,string或者jQuery集合的length为零,被认为是空。类似的,map(映射)和set的size为0,被认为是空。
参数:
1.value(*)要检查的值
返回:
如果value为空,那么返回true,否则返回false.
例子
_.isEmpty(null);
// => true
_.isEmpty(true);
// => true
_.isEmpty(1);
// => true
_.isEmpty([1, 2, 3]);
// => false
_.isEmpty({ 'a': 1 });
// => false
4._cloneDeep(value)
这个方法类似于_.clone,除了他会递归拷贝value.(注:也叫深拷贝)。
参数
1.value(*):要深拷贝的值
返回
返回拷贝后的值。
例子
var objects=[{'a':1},{'b',:2}]; var deep=_.cloneDeep(objects); console.log(deep[0]===objects[0]); //=>false