lodash是javascript的一個工具庫,拿來即用,很方便。
lodash的資源庫地址爲lodash,一起學習吧!
數組Array
chunck 分割數組
將數組根據指定的長度進行分割,默認是1。
如果不能很平均的被分割,最後一個被分割的數組將成爲最後一個。
結果是分割成一個二維數組。
形如:_.chunk(Array,size)
,size默認是1
_.chunk(['a','b','c','d'],2)
上面代碼表示將['a','b','c','d']
進行長度爲2的分割,分割結果爲[['a','b'],['c','d']]
compact
去除數組裏面含有否定的項,比如null,0,undefined,NaN,'',false,不改變原來的數組
形如:_.compact(Array)
let array=[0,1,2,null,'',undefined,NaN]
_.compact(array)
上面代碼表示結果爲[1,2]
concat
結合其他的數組/數值,不改變原數組
形如:_.concat(array,value,[values])
其中array表示原數組,value表示數值,[values]表示數組,在這裏,一維數組和數值效果一樣。
let array=[1]
_.concat(array,2,[3],[[4]])
上面代碼結果爲[1,2,3,[4]]
,其中2和[3]
效果是一樣的
difference
找出第一個數組中與其他數組中不相同的項,不改變原數組
形如:_.difference(array,array1,array2,array3...)
let array=[1,2,3];
let array2=[2,4];
_.difference(array,array2)
上面的代碼結果爲[1,3]
,是基於array,尋找不相同的項。
differenceBy
作用跟上面的difference
一致,但是加了一個參數,讓數組的每一項都能按照某一個標準去執行,然後再進行比對,對元素進行迭代。
形如:_.differenceBy(array,array1,array2...,iteratee)
let array=[1.2,2.2]
let array2=[2.1,2.3]
_.differenceBy(array,array2,Math.floor)
上面的代碼結果爲[1.2]
,因爲Math.floor
會使得數組的每項變成[1,2],[2,2]
,再進行比較時,自然只剩下[1]
,對應的便是[1.2]
differenceWith
作用跟上面的difference
一致,但是加了一個參數,遍歷每個數組,按照某個比較器進行比較。
形如:_.differenceBy(array,array1,array2...,comparator)
const array=[{obj1:1},{obj2:2}]
const array2=[{obj2:2}]
_.differenceWith(array,array2,_.isEqual)
上面代碼結果爲[{obj1:1}]
,其中_.isEqual
是那個比較器
相關demo在我的github上,敬請期待後續更新。。。