天天看點

好用的第三方庫lodash

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

繼續閱讀