我的了解: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, '&');