Lodash概述
随着时间的过去,我们写码会积累一些习惯,思想,工具和套路代码,让我们下次在做类似工作时可以事半功倍。lodash就是一个js的工具库,它内部封装了常见的数据处理,如字符,数组,对象,日期。传承于underscore,但性能上却更优异。
模块组成
- Array,适用于数组类型,比如填充数据、查找元素、数组分片等操作
- Collection,适用于数组和对象类型,部分适用于字符串,比如分组、查找、过滤等操作
- Date,当前时间戳
- Function,适用于函数类型,比如字节流,延迟,缓存,设置钩子等操作
- Lang,类型转化和数值比较
- Math,数学运算
- Number,随机数和数值区间
- Object,对象的创建、扩展、类型转换、检索、集合等操作
- Seq,创建链式调用,提高执行性能(惰性计算)
- String,适用于字符串类型
实例
1.N次循环
1 | // 1. Basic for loop. |
for
语句是执行循环的不二选择,Array.apply
也可以模拟循环,但在上面代码的使用场景下,_.times()
的解决方式更加简洁和易于理解。
2.深层查找属性值
1 | // Fetch the name of the first pet from each owner |
_.map
方法是对原生 map
方法的改进,其中使用 pets[0].name
字符串对嵌套数据取值的方式简化了很多冗余的代码,非常类似使用 jQuery 选择 DOM 节点 ul > li > a
,对于前端开发者来说有种久违的亲切感。