- npm i --save lodash
- 使用页面
1、全部引入 import _ from ‘lodash’
2、按需引入 import x from ‘lodash/x’
1、_.chunk(array, [size=1])
将数组(array)拆分成多个 size 长度的区块,并将这些区块组成一个新数组。 如果array 无法被分割成全部等长的区块,那么最后剩余的元素将组成一个区块。
_.chunk(['a', 'b', 'c', 'd'], 2);
// => [['a', 'b'], ['c', 'd']]
_.chunk(['a', 'b', 'c', 'd'], 3);
// => [['a', 'b', 'c'], ['d']]
2、_.compact(array)
创建一个新数组,包含原数组中所有的非假值元素。例如false, null,0, “”, undefined, 和 NaN 都是被认为是“假值”。
_.compact([0, 1, false, 2, '', 3]);
// => [1, 2, 3]
3、_.concat(array, [values])
创建一个新数组,将array与任何数组 或 值连接在一起。
var array = [1];
var other = _.concat(array, 2, [3], [[4]]);
console.log(other);
// => [1, 2, 3, [4]]
console.log(array);
// => [1]
4、_.fromPairs(pairs)
返回一个由键值对pairs构成的对象。
_.fromPairs([['fred', 30], ['barney', 40]]);
// => { 'fred': 30, 'barney': 40 }
5、_.zipObject([props=[]], [values=[]])
这个方法类似_.fromPairs,除了它接受2个数组,第一个数组中的值作为属性标识符(属性名),第二个数组中的值作为相应的属性值。
_.zipObject(['a', 'b'], [1, 2]);
// => { 'a': 1, 'b': 2 }
6、_.difference(array, [values])
创建一个具有唯一array值的数组,每个值不包含在其他给定的数组中
_.difference([3, 2, 1], [4, 2]);
// => [3, 1]
7、_.xor([arrays])
创建一个给定数组唯一值的数组
_.xor([2, 1, 3, 1, 2])
// => [2, 1, 3]
_.xor([2, 1], [2, 3])
// => [1, 3]
8、_.intersection([arrays])
创建唯一值的数组,这个数组包含所有给定数组都包含的元素
_.intersection([2, 1], [4, 2], [1, 2]);
// => [2]
9、_.uniq(array)
创建一个去重后的array数组副本。
_.uniq([2, 1, 2]);
// => [2, 1]
10、_.without(array, [values])
创建一个剔除所有给定值的新数组。
注意: 不像_.pull, 这个方法会返回一个新数组。
_.without([2, 1, 2, 3], 1, 2);
// => [3]
1、_.pull(array, [values])
移除数组array中所有和给定值相等的元素
var array = [1, 2, 3, 1, 2, 3];
_.pull(array, 2, 3);
console.log(array);
// => [1, 1]
2、_.pullAll(array, values)
这个方法类似_.pull,区别是这个方法接收一个要移除值的数组
var array = [1, 2, 3, 1, 2, 3];
_.pullAll(array, [2, 3]);
console.log(array);
// => [1, 1]
3、_.pullAt(array, [indexes])
根据索引 indexes,移除array中对应的元素,并返回被移除元素的数组。
var array = [5, 10, 15, 20];
var evens = _.pullAt(array, 1, 3);
console.log(array);
// => [5, 15]
console.log(evens);
// => [10, 20]