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 每個陣列區塊的長...