Lodash-一个一致性、模块化、高性能的 JavaScript 实用工具库介绍

官网:https://www.lodashjs.com

一、为什么选择 Lodash ?

Lodash 通过降低 array、number、objects、string 等等的使用难度从而让 JavaScript 变得更简单。Lodash 的模块化方法 非常适用于:

  • 遍历 array、object 和 string
  • 对值进行操作和检测
  • 创建符合功能的函数

二、补充工具

  • futil-js 是一套用来补足 lodash 的实用工具集。

三、兼容性

在 Chrome 65-66、Firefox 58-59、IE 11、Edge 16、Safari 10-11、Node.js 6-10 & PhantomJS 2.1.1. 环境中测试通过。支持自动化 浏览器测试 & CI 测试。

四、API:很强大的工具类

Lodash-一个一致性、模块化、高性能的 JavaScript 实用工具库介绍_第1张图片

常用lodash函数(参考版本lodash v4.16.1)

1、N次循环

for语句是执行循环的不二选择,但在上面代码的使用场景下,_.times()的解决方式更加简洁和易于理解。

2、深层查找属性值

Lodash中的_.map方法和JavaScript中原生的数组方法非常的像,但它还是有非常有用的升级。 你可以通过一个字符串而不是回调函数来浏览深度嵌套的对象属性。

3、深克隆对象

深度克隆JavaScript对象是困难的,并且也没有什么简单的解决方案。你可以使用原生的解决方案:JSON.parse(JSON.stringify(objectToClone)) 进行深度克隆。但是,这种方案仅在对象内部没有方法的时候才可行。

4、在指定范围内获取一个随机值

Lodash中的 _.random 方法要比上面的原生方法更强大与灵活。你可以只传入一个参数作为最大值, 你也可以指定返回的结果为浮点数_.random(15,20,true)

5、扩展对象

_.assign 方法也可以接收多个参数对象进行扩展,都是往后面的对象上合并

6、从列表中随机的选择列表项

此外,你也可以指定随机返回元素的个数_.sampleSize(smartTeam,n),n为需要返回的元素个数

7、判断对象中是否含有某元素

_.includes()第一个参数是需要查询的对象,第二个参数是需要查询的元素,第三个参数是开始查询的下标

8、遍历循环

这两种方法都会分别输出‘1’和‘2’,不仅是数组,对象也可以,数组的是后key是元素的下标,当传入的是对象的时候,key是属性,value是值

9、遍历循环执行某个方法

_.map()

10、检验值是否为空

_.isEmpty()

11、查找属性

_.find()_.filter()_.reject()

_.find()第一个返回真值的第一个元素。 _.filter()返回真值的所有元素的数组。 _.reject()_.filter的反向方法,不返回真值的(集合)元素

12、数组去重

_.uniq(array)创建一个去重后的array数组副本。

参数 array (Array): 要检查的数组。

返回新的去重后的数组

_.uniqBy(array,[iteratee=_.identity])这个方法类似 _.uniq,除了它接受一个 iteratee(迭代函数),调用每一个数组(array)的每个元素以产生唯一性计算的标准。iteratee 调用时会传入一个参数:(value)。

Math.floor只是向下取整,去重,并没有改变原有的数组,所以还是2.1和1.2,不是2和1。

13、模板插入

_.template([string=''], [options={}])

注意,这个

你可能感兴趣的:(前端相关)