lodash速覽:數組方法(二)

一、_.sortedIndex(array, value):把value插入數組時,返回其應該插入的位置。二進制比較法,並不會改版原數組。從左向右進行比較。javascript

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

類似方法:
_.sortedIndexBy(array, value, [iteratee=_.identity]):自定義排序函數。
_.sortedLastIndexBy(array, value, [iteratee=_.identity]):略。
_.sortedIndexOf(array, value):跟 _.indexOf() 相似,但它對有序數組進行二叉樹查詢。
_.sortedLastIndexOf(array, value):略。
_.sortedLastIndex(array, value):略。java

二、_.sortedUniq(array):照出數組中只出現1次的項。數組

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

類似方法:
_.sortedUniqBy(array, [iteratee]):指定迭代方法。ide

三、_.tail(array):返回不包含首項的剩餘項。函數

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

四、_.take(array, [n=1]):獲取數組的前幾項。code

_.take(['a', 'b', 'c'], 2);    //['a','b']

類似方法:
_.takeWhile(array, [predicate=_.identity]):自定義迭代器。
_.takeRight(array, [n=1]):從右往左進行獲取。
_.takeRightWhile(array, [predicate=_.identity]):略。對象

五、_.union([arrays]):合併數組並去重。排序

_.union([3,1,4], [1, 2]);        // [3, 1, 4, 2]

類似方法:
_.unionBy([arrays], [iteratee=_.identity]):自定義迭代器進行比較。
_.unionWith([arrays], [comparator]):略。ip

六、_.uniq(array):數組去重。it

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

類似方法:
_.uniqBy(array, [iteratee=_.identity]):自定義迭代器比較。
_.uniqWith(array, [comparator]):略。

七、_.zip([arrays]):打包多個數組的對應項分別造成新數組。

_.zip(['a', 'b','c'], [1, 2], [true, false]);    
//[["a", 1, true],["b", 2, false],["c", undefined, undefined]]

類似方法:
_.zipObject([props=[]], [values=[]]):將數組打包成key-value對象。

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

_.zipObjectDeep([props=[]], [values=[]]):深打包。

_.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);
// => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }

_.zipWith([arrays], [iteratee=_.identity]):自定義迭代器定義打包規則。

_.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {
  return a + b + c;
});
// => [111, 222]

_.unzip(array):_zip()的互補方法。
_.unzipWith(array, [iteratee=_.identity]):自定義解壓的迭代方法。

八、_.without(array, [values]):找出不包含的數組項。

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

九、_.xor([arrays]):兩個數組的抑或操做。找出數組中交集之外的數組項。

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

類似方法:
_.xorBy([arrays], [iteratee=_.identity]):自定義迭代器比較規則。_.xorWith([arrays], [comparator]):略。

相關文章
相關標籤/搜索