一、_.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]):略。