美文网首页优美编程
相见恨晚的loadsh函数-Array

相见恨晚的loadsh函数-Array

作者: 小遁哥 | 来源:发表于2019-10-03 21:51 被阅读0次

Lodash 中文文档 打开开发者工具,可以直接在控制台调试。

1. _.compact(array)

创建一个新数组,包含原数组中所有的非假值元素

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

2._.flattenDeep(array)

将array递归为一维数组。

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

减少一个层级 _.flatten(array)

减少指定层级 _.flattenDepth(array, [depth=1])

3._.difference(array, [values])

创建一个具有唯一array值的数组,每个值不包含在其他给定的数组中

_.difference([1,2,3,4], [1],[3])
[2, 4]

接受一个 iteratee (迭代器) .differenceBy(array, [values], [iteratee=.identity])

接受一个 comparator (比较器) _.differenceWith(array, [values], [comparator])

4 _.initial(array)

获取数组array中除了最后一个元素之外的所有元素

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

5 _.intersection([arrays])

创建唯一值的数组,这个数组包含所有给定数组都包含的元素

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

接受一个 iteratee (迭代器).intersectionBy([arrays], [iteratee=.identity])

接受一个 comparator (比较器)_.intersectionWith([arrays], [comparator])

6 _.last(array)

获取array中的最后一个元素。

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

7 _.nth(array, [n=0])

获取array数组的第n个元素。如果n为负数,则返回从数组结尾开始的第n个元素。

var array = ['a', 'b', 'c', 'd'];
 
_.nth(array, 1);
// => 'b'
 
_.nth(array, -2);
// => 'c';

8 _.pull(array, [values])

移除数组array中所有和给定值相等的元素,这个方法会改变数组

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

接收一个要移除值的数组 _.pullAll(array, values)

接受一个 iteratee(迭代函数) .pullAllBy(array, values, [iteratee=.identity])

接受 comparator _.pullAllWith(array, values, [comparator])

根据索引 indexes,移除array中对应的元素,并返回被移除元素的数组。 _.pullAt(array, [indexes])

9 .remove(array, [predicate=.identity])

移除数组中predicate(断言)返回为真值的所有元素,并返回移除元素组成的数组。predicate(断言) 会传入3个参数: (value, index, array)。

这个方法会改变数组 array

var array = [1, 2, 3, 4];
var evens = _.remove(array, function(n) {
  return n % 2 == 0;
});
 
console.log(array);
// => [1, 3]
 
console.log(evens);
// => [2, 4]

10 _.tail(array)

获取除了array数组第一个元素以外的全部元素。

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

11 _.union([arrays])

创建一个按顺序排列的唯一值的数组

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

接受一个 iteratee (迭代函数 ) .uniqBy(array, [iteratee=.identity])

接受一个 comparator _.uniqWith(array, [comparator])

12 _.without(array, [values])

创建一个剔除所有给定值的新数组

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

13 _.xor([arrays])

创建一个给定数组唯一值的数组

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

接受 iteratee(迭代器) .xorBy([arrays], [iteratee=.identity])

接受一个 comparator _.xorWith([arrays], [comparator])

14 针对已经排序好的数组提供的一些列方法

_.sortedIndex

_.sortedIndex([30, 50], 40);
// => 1

使用二进制的方式检索来决定 value值 应该插入到数组中 尽可能小的索引位置,以保证array的排序。

_.sortedIndexBy 接受一个 iteratee (迭代函数)
_.sortedIndexOf
_.sortedLastIndex
_.sortedLastIndexBy
_.sortedUniq

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

_.sortedUniqBy

相关文章

网友评论

    本文标题:相见恨晚的loadsh函数-Array

    本文链接:https://www.haomeiwen.com/subject/xefjpctx.html