在日常的开发工作中,我们经常需要对数组、对象、字符串等做一些复杂等处理操作。
lodash就是一个强大的帮助我们处理这些日常复杂处理的工具函数库,内部封装了很多字符串、数组、对象等常见数据类型的处理函数。
下面总结一些lodash方法函数,供之后做参考。
_.range(10) //生成元素为0到9的数组
_.sample(arr); //随机生成arr里的元素
_.times(10, (i)=>console.log(i)) //循环10次
_.cloneDeep(obj) //深拷贝
_.forEach() //遍历
_.keys(obj) //取出对象中所有的key值组成新的数组
_.chunk(arr,2) //将数组按一定长度进行分割
_.compact(['1','2',' ',0]) // => ['1','2'],去除假值。(将所有的空值,0,NaN过滤掉)
_.uniq([1,1,3]) // => [1,3],数组去重
_.union(arr1, arr2) //合并两个数组并去重
_.uniqBy(arr, 'value') //根据指定条件去重对象数组
_.filter([1,2],x => x = 1) // => [1],过滤符合条件的
_.reject([1,2],x => x=1) // => [2],过滤出不符合条件的
选出json数组中id最大的一项
var foo = [
{id: 0, name: "aaa", age: 33},
{id: 1, name: "bbb", age: 25}
]
var bar = _.find(foo, ['id', _.max(_.map(foo, 'id'))]) // bar = {id: 1, name: "bbb", age: 25}
在两端、开头、末尾补齐字符
var foo = "helloworld"
var bar = _.pad(foo, 14, '-') //bar = --helloworld--
bar = _.padStart(foo, 14, '-') //bar = ----helloworld
bar = _.padEnd(foo, 14, '-') //bar = helloworld----
防抖/节流
_.debounce(func, timer) //防抖
_.throttle(func, timer) //节流
总一些部分lodash方法,有时间再次进行总结。