简述
Lodash内部封装了诸多对字符串、数组、对象等常见数据类型的处理函数;
也有很多工程师把自己喜欢的一些三方库进行封装处理,为了后续方便开发,保证代码健壮性。
为何用
在实际任务需求开发中,前端可能需要处理很多数据,根据不同的UI库将数据处理成相应的格式;也有可能你没有使用UI库,但是不免也会存在处理数据的情况。
最常见的应该就是数组/对象的处理。比如:数组的拆分、合并、嵌套等这是最常见的需求;也许你会说使用ES6、ES7语法能实现,确实,有些需求可通过ES6、ES7语法进行实现,但是也有很多不能实现,只能通过各种对数据循环迭代进行处理,耗费百万脑细胞。。。假如你使用Lo呢?会出现什么情况呢?目前,主要是对数组和对象的操作比较频繁,这里也主要粗略讲解一下Array/Collocation这两个模块(本人暂时就只用这两个模块进行需求开发,也确实是能力有限),其他的模块(func,num….)可去官网进行了解学习。。。
如何用
在React + Webpack + Babel(ES6)的开发环境中,使用Lodash需要安装插件babel-plugin-lodash并更新Babel配置文件:npm install --save lodash npm install --save-dev babel-plugin-lodash
更新Bable的配置文件 .babelrc:
1 | { |
使用方式:
1 | import Lo from 'lodash'; |
Array
1、一个简单的循环
1 | // 正常使用 |
2、深层查找
1 | var jin = [{ |
Lo.map 方法是对原生 map 方法的改进;
其中使用 pets[0].name 字符串对嵌套数据取值的方式简化了很多冗余的代码。
3、深拷贝( warning:使用序列化parse进行深拷贝,会存在一些问题:value值为函数、undefine等,希望大家自己动手查查看)
1 | var obj = { |
还有很多:
chunk
compact
difference
random(随机数)
等等…..;;;
对象扩展extend各种…..Lo.times(9999*99...9,Lo.constant(一点))
成功=一点+一点+一点
一个让你后悔“没有”“没有”“没有”学习的js三方工具库,你后悔了吗!!!