lodash速覽:數組方法(一)

一、_.chunk(array, [size]):將一個數組按照必定的長度分割爲N個數組。javascript

_.chunk(['a', 'b', 'c', 'd'], 2);        // => [['a', 'b'], ['c', 'd']]

二、_.compact(array):過濾數組中布爾值爲false的值,如false, null, 0, "", undefined, and NaN。java

_.compact([0, 1, false, 2, '', 3]);        // => [1, 2, 3]

三、_.concat(array, [values]):數組鏈接,返回新數組。values裏的數組將被降維拉伸。數組

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

四、_.difference(array, [values]):將數組裏值不相同的項找到並組成一個新的數組。ide

_.difference([2, 1], [2, 3]);        // => [1]

類似方法:
_.differenceBy(array, [values], [iteratee=_.identity]):跟difference類似,但能夠接收一個迭代函數。
_.differenceWith(array, [values], [comparator]):跟difference類似,但能夠接收一個比較函數。函數

五、_.drop(array, [n=1]):刪除數組的前N項。code

_.drop([1, 2, 3], 2);        // => [3]

類似方法:
_.dropRight(array, [n=1]):刪除數組的後N項。
_.dropRightWhile(array, [predicate=_.identity]):接收一個過濾參數,將不合格的數組項刪除。
_.dropWhile(array, [predicate=_.identity]):用法同上,一個從尾部開始比較,一個從頭部開始比較。對象

六、_.fill(array, value, [start=0], [end=array.length]):填充數組,將數組的第start項到第end項填充爲value。ip

_.fill([4, 6, 8, 10], '*', 1, 3);        // => [4, '*', '*', 10]

七、_.findIndex(array, [predicate=_.identity], [fromIndex=0]):從fromIndex開始查找數組中符合篩選條件的值的下標。rem

var users = [
  { 'user': 'barney',  'active': false },
  { 'user': 'fred',    'active': false },
  { 'user': 'pebbles', 'active': true }
];
_.findIndex(users, function(o) { return o.user == 'barney'; });        // => 0

類似方法:
_.findLastIndex(array, [predicate=_.identity], [fromIndex=array.length-1]):從尾部開始查找。字符串

八、_.flatten(array):將數組降一個維度進行拉伸。

_.flatten([1, [2, [3, [4]], 5]]);        // => [1, 2, [3, [4]], 5]

類似方法:
_.flattenDeep(array):將數組徹底拉伸。
_.flattenDepth(array, [depth=1]):將數組降n維進行拉伸。

九、_.fromPairs(pairs):將數組轉爲key-value的對象。

_.fromPairs([['a', 1], ['b', 2]]);        // => { 'a': 1, 'b': 2 }

互補方法:
_.toPairs(object):將對象轉爲一個key-value的數組。

十、_.head(array):返回數組的第一項。
_.last(array):返回數組的最後一項。

十一、_.indexOf(array, value, [fromIndex=0]):查找某個值在數組的下標。

_.**lastIndexOf**(array, value, [fromIndex=array.length-1]):從後往前查找。

十二、_.initial(array):獲取數組除最後一項的全部值,至關於刪除最後一項。

_.initial([1, 2, 3]);            // => [1, 2]

1三、_.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條。

1四、_.join(array, [separator=',']):數組拼接成字符串。類原生.join方法。

_.**reverse**(array):翻轉數組,相似原生。
_.**slice**(array, [start=0], [end=array.length]):數組從start項到end項切割成一個新數組。相似原生。

1五、_.nth(array, [n=0]):取出數組的第n項。相似原生array[n]。

1六、_.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]):刪除數組的下標對應的值。

1七、_.remove(array, [predicate=_.identity]):刪除數組中符合條件的項。

相關文章
相關標籤/搜索