介绍
lodash是一款流行多年的开发工具库,增加了数组,集合,类型判断,util等实用方法,大大弥补了js标准库方法太少的不足,常年稳定npm第一下载package 浏览文档发现已经有很多的方法已经被es6实现了,不过我认为还是很有必要学习一下的,lodash有以下几个优势:
- 性能高,底层经过了性能优化,例如拍平数组,深拷贝对象,求两个数组交集等,比自己实现的效率要高很多
- 无副作用,所有的方法都不改变源数据
- 安全,许多方法查找遍历不存在的路径,不会报错阻塞进程
- 前端圈的共识,前后端同构一致
- 学习大神们的源码,提高编程水平
常用方法
- _.get[object]获取指定元素
let obj = {
a: {
name: 'lodash'
}
}
_.get(o,'a.name') // lodash
_.get(o,'b.name') // undefined
- -.chunk[array]分隔数组
_.chunk([1,2,3,4,5],2) // [[1,2],[3,4],[5]]
- -.flattenDeep[array]拍平数组
_.flattenDeep([1,2,[3,4,[5,[6,7]]]]) // [1,2,3,4,5,6,7]
- _.sample[collection]随机返回集合内一个元素
_.sample([1,2,3,4,5,6]) // random: 3
_.sample({a:1,b:2,c:3}) // random: 2
- _.range[util]创建一个数组
_.range(3) // [1,2,3]
- _.uniqueId[util]生成唯一ID
- _.repeat重复n次给定的字符串
_.repeat('*', 3) // '***'
- _.sum计算数组中值的和
_.sum([4, 2, 8, 6]) // 20
- _.throttle节流函数
- _.debounce防抖函数
- _.shuffle洗牌算法
_.shuffle([1, 2, 3, 4]) // [2,4,1,3]
- _.once创建一个只能调用一次的函数