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上,敬請期待后續更新,,,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/18372.html
標籤:JavaScript
