官网:https://www.lodashjs.com
Lodash 通过降低 array、number、objects、string 等等的使用难度从而让 JavaScript 变得更简单。Lodash 的模块化方法 非常适用于:
在 Chrome 65-66、Firefox 58-59、IE 11、Edge 16、Safari 10-11、Node.js 6-10 & PhantomJS 2.1.1. 环境中测试通过。支持自动化 浏览器测试 & CI 测试。
for
语句是执行循环的不二选择,但在上面代码的使用场景下,_.times()
的解决方式更加简洁和易于理解。
Lodash中的_.map
方法和JavaScript中原生的数组方法非常的像,但它还是有非常有用的升级。 你可以通过一个字符串而不是回调函数来浏览深度嵌套的对象属性。
深度克隆JavaScript对象是困难的,并且也没有什么简单的解决方案。你可以使用原生的解决方案:JSON.parse(JSON.stringify(objectToClone))
进行深度克隆。但是,这种方案仅在对象内部没有方法的时候才可行。
Lodash中的 _.random
方法要比上面的原生方法更强大与灵活。你可以只传入一个参数作为最大值, 你也可以指定返回的结果为浮点数_.random(15,20,true)
_.assign
方法也可以接收多个参数对象进行扩展,都是往后面的对象上合并
此外,你也可以指定随机返回元素的个数_.sampleSize(smartTeam,n)
,n为需要返回的元素个数
_.includes()
第一个参数是需要查询的对象,第二个参数是需要查询的元素,第三个参数是开始查询的下标
这两种方法都会分别输出‘1’和‘2’,不仅是数组,对象也可以,数组的是后key
是元素的下标,当传入的是对象的时候,key
是属性,value
是值
_.map()
_.isEmpty()
_.find()
、_.filter()
、_.reject()
_.find()
第一个返回真值的第一个元素。 _.filter()
返回真值的所有元素的数组。 _.reject()
是_.filter
的反向方法,不返回真值的(集合)元素
_.uniq(array)
创建一个去重后的array数组副本。
参数 array (Array)
: 要检查的数组。
返回新的去重后的数组
_.uniqBy(array,[iteratee=_.identity])
这个方法类似 _.uniq
,除了它接受一个 iteratee
(迭代函数),调用每一个数组(array)的每个元素以产生唯一性计算的标准。iteratee 调用时会传入一个参数:(value)。
Math.floor
只是向下取整,去重,并没有改变原有的数组,所以还是2.1和1.2,不是2和1。
_.template([string=''], [options={}])
注意,这个标签的
type
是text/template
,类似于react的JSX的写法,就是js和html可以混写,用<% %>
括起来的就是js代码,可以执行,直接写的就是html的标签,并且有类似MVC框架的的数据绑定,在<%= %>
中可以调用到数据呈现。
就这么多了,剩下的自己可以查看中文文档和官方文档或者看看别人写的博客,虽然现在很多方法ES6已经自己就已经封装好了,我们还是写ES5的多,有个偷懒少写方法的路子,为啥不用!!
我的微信公众号:架构真经(id:gentoo666),分享Java干货,高并发编程,热门技术教程,微服务及分布式技术,架构设计,区块链技术,人工智能,大数据,Java面试题,以及前沿热门资讯等。每日更新哦!
参考文章: