之前有常看到lodash,但是一直没有详细了解,也没有用,现在有时间可以认真看下了。
好多东西都是,没了解没入门都会觉得应该不会那么容易上手,然后就暂时放置,然后安于原来熟悉的开发方式了,还是一个字 —— 懒。
可能尝试一件新事物并没有想象中那么地花费时间和精力,
坚持一个好的习惯也没有想象中那么的艰难~
———————————————————————————————————————————————
lodash是一个旨在提高开发效率和javascript原生方法性能的js原生库,像jquery一样,这里封装了很多字符串、数组、对象等常见数据类型的处理函数。
以下列举以下平时应用场景较多的几种,方便后期用到:
详细参考:lodash官网
1.times循环
//js原生的循环方法
for (var i = 0; i < 5; i++) {
console.log(i);
};
//ladash的times方法
this.$lodash.times(5,function (item) {
console.log(item);
})
2.chunk - 切分数组
将数组按照一定长度切分,返回新数组
const arr = [1,2,3,4,5,6,7,8,9];
let newArr = _.chunk(arr,2);
console.log(newArr);
// =>[[1,2],[3,4],[5,6],[7,8],[9]]
3.compact,去除假值。
将所有的空值,0,NaN过滤掉
_.compact(['1','2',' ',0])
// => ['1','2']
4.uniq,数组去重
将数组中的对象去重,只能是数组去重,不能是对象去重。
_.uniq([1,1,3])
// => [1,3]
5.filter和reject
过滤集合,传入匿名函数。(两个函数类似但返回的值是相反)
//返回满足条件项
_.filter([1,2],x => x = 1)
// => [1]
//返回不满足条件项
_.reject([1,2],x => x=1)
// => [2]
6.map和forEach
//这里也对比下原生map和forEach的区别(map可做返回值操作)
let newArr1 = [1,2].map(function(item,index,arr)