lodash集合啦,將持續更新...

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上,敬請期待後續更新。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章