我的理解:lodash是js集Array/Object/String/Function于一身的Util
lodash中文文档:https://www.lodashjs.com/
lodash引入:import * as lodash from 'lodash';
一些常用的lodash代码:
//遍历列表或数组的每一项
let list = [];
lodash.forEach(
list,
(data: any) => {
//...
}
);
//如果所有元素经 predicate(断言函数) 检查后都都返回真值,那么就返回true,否则返回 false
//一旦 predicate(断言函数) 返回 truthy(真值),遍历就停止。
lodash.some(
list,
(data: string) => {
return data == 'xxx';
}
);
//一旦 predicate(断言函数) 返回假值,迭代就马上停止
lodash.every(
list,
(data: string) => {
return data == 'xxx';
}
);
//filter和reject,过滤集合,传入匿名函数
lodash.fifter([1, 2], (data: number) => {
return data == 1;
});//[1]
lodash.reject([1, 2], (data: number) => {
return data == 1;
});//[2]
//参数合并(merge函数就像Git的merge分支操作一样,将两个参数合并在一起)
lodash.merge(this, list);
//数组拆分
const arr = [1, 2, 3, 4, 5, 6];
lodash.chunk(arr, 2);// [[1, 2], [3, 4,], [5, 6]]
//去除假值(将所有的空值,0,NaN过滤)
lodash.compact(['1', '2', '', 0]);//['1', '2']
//数组去重
lodash.uniq([1, 1, 3]);// [1, 3]
//n次循环
lodash.times(5, () => { });
//等价于:
for (let i = 0; i < 5; i++) { console.log(i); }
//深克隆对象
let objA = {
'name': '111'
};
let objB = lodash.cloneDeep(objA);
console.log(objA);
console.log(objB);
console.log(objA === objB);//false
//在范围内取随机值
lodash.random(15, 20);
//返回array中的最大值
lodash.max(list);
//数组合并
lodash.join(list, '&');