lodash速覽 陣列方法(一)

2021-09-13 12:43:17 字數 4124 閱讀 6818

1、_.chunk(array, [size]):將乙個陣列按照一定的長度分割為n個陣列。

_.chunk(['a', 'b', 'c', 'd'], 2);        // => [['a', 'b'], ['c', 'd']]
2、_.compact(array):過濾陣列中布林值為false的值,如false, null, 0, "", undefined, and nan。

_.compact([0, 1, false, 2, '', 3]);        // => [1, 2, 3]
3、_.concat(array, [values]):陣列連線,返回新陣列。values裡的陣列將被降維拉伸。

var array = [1];

var other = _.concat(array, 2, [3], [[4]]);

console.log(other); // => [1, 2, 3, [4]]

4、_.difference(array, [values]):將陣列裡值不相同的項找到並組成乙個新的陣列。

_.difference([2, 1], [2, 3]);        // => [1]
相似方法:

_.differenceby(array, [values], [iteratee=_.identity]):跟difference相似,但可以接收乙個迭代函式。

_.differencewith(array, [values], [comparator]):跟difference相似,但可以接收乙個比較函式。

5、_.drop(array, [n=1]):刪除陣列的前n項。

_.drop([1, 2, 3], 2);        // => [3]
相似方法:

_.dropright(array, [n=1]):刪除陣列的後n項。

_.droprightwhile(array, [predicate=_.identity]):接收乙個過濾引數,將不合格的陣列項刪除。

_.dropwhile(array, [predicate=_.identity]):用法同上,乙個從尾部開始比較,乙個從頭部開始比較。

6、_.fill(array, value, [start=0], [end=array.length]):填充陣列,將陣列的第start項到第end項填充為value。

_.fill([4, 6, 8, 10], '*', 1, 3);        // => [4, '*', '*', 10]
7、_.findindex(array, [predicate=_.identity], [fromindex=0]):從fromindex開始查詢陣列中符合篩選條件的值的下標。

var users = [

, ,

];_.findindex(users, function(o) ); // => 0

相似方法:

_.findlastindex(array, [predicate=_.identity], [fromindex=array.length-1]):從尾部開始查詢。

8、_.flatten(array):將陣列降乙個維度進行拉伸。

_.flatten([1, [2, [3, [4]], 5]]);        // => [1, 2, [3, [4]], 5]
相似方法:

_.flattendeep(array):將陣列完全拉伸。

_.flattendepth(array, [depth=1]):將陣列降n維進行拉伸。

9、_.frompairs(pairs):將陣列轉為key-value的物件。

_.frompairs([['a', 1], ['b', 2]]);        // =>
互補方法:

_.topairs(object):將物件轉為乙個key-value的陣列。

10、_.head(array):返回陣列的第一項。

_.last(array):返回陣列的最後一項。

11、_.indexof(array, value, [fromindex=0]):查詢某個值在陣列的下標。

_.**lastindexof**(array, value, [fromindex=array.length-1]):從後往前查詢。
12、_.initial(array):獲取陣列除最後一項的所有值,相當於刪除最後一項。

_.initial([1, 2, 3]);            // => [1, 2]
13、_.intersection([arrays]):找出相同的陣列項。將陣列裡值相同的項找到並組成乙個新的陣列。

_.intersection([2, 1], [2, 3]);// => [2]
相似方法:

_.intersectionby([arrays], [iteratee=_.identity]):略。

_.intersectionwith([arrays], [comparator]):略。

互補方法:

_.difference(array, [values]):見上面第4條。

_.differenceby(array, [values], [iteratee=_.identity]):見上面第4條。

_.differencewith(array, [values], [comparator]):見上面第4條。

14、_.join(array, [separator=',']):陣列拼接成字串。類原生.join方法。

_.**reverse**(array):翻轉陣列,類似原生。

_.**slice**(array, [start=0], [end=array.length]):陣列從start項到end項切割成乙個新陣列。類似原生。

15、_.nth(array, [n=0]):取出陣列的第n項。類似原生array[n]。

16、_.pull(array, [values]):從乙個陣列中刪除某些value。

var array = ['a', 'b', 'c', 'a', 'b', 'c'];

_.pull(array, 'a', 'c');

console.log(array); // => ['b', 'b']

相似方法:

_.pullall(array, values):引數可以接收乙個陣列。

_.pullallby(array, values, [iteratee=_.identity]):引數可以接收過濾函式。

_.pullallwith(array, values, [comparator]):略。

_.pullat(array, [indexes]):刪除陣列的下標對應的值。

17、_.remove(array, [predicate=_.identity]):刪除陣列中符合條件的項。

lodash速覽 物件Object方法(一)

1 assign object,sources 物件的合併繼承 不包含原型 後面覆蓋前面的。assign 類似方法 assignin object,sources 一樣是合併繼承,它就連原型都一併處理了。其實就是原來的 extend 方法。高階方法 assignwith object,sources...

lodash常用api之Array陣列方法篇

flattendeep 1,2,3,4 5 1,2,3,4,5 indexof 3,3 1 1具體引數 array array 需要查詢的陣列。value 需要查詢的值。fromindex 0 number 開始查詢的位置,預設從0開始 difference 1,2,3,4 8,4 1,2,3 wi...

閱讀lodash原始碼之旅陣列方法篇 chunk

作用和用法 將陣列 array 拆分成多個 size 長度的區塊,並將這些區塊組成乙個新陣列。如果array 無法被分割成全部等長的區塊,那麼最後剩餘的元素將組成乙個區塊。用法 chunk array,size 1 array array 需要處理的陣列 size 1 number 每個陣列區塊的長...