📜  Lodash 集合完整参考(1)

📅  最后修改于: 2023-12-03 15:17:26.422000             🧑  作者: Mango

Lodash 集合完整参考

Lodash 是一个非常实用的 JavaScript 工具库,提供了诸如对象操作、函数式编程、字符串操作等等众多的方法。其中集合操作也是 Lodash 库的一大特色,本文将详细介绍 Lodash 的集合操作方法。

_.chunk

将一个数组分成多个子数组,每个子数组的长度为指定值。

用法:

_.chunk(array, [size=1])

示例:

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

返回一个新数组,该数组去除了原数组中所有假值元素。

用法:

_.compact(array)

示例:

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

将若干个数组合并成一个新数组。

用法:

_.concat(array, [values])

示例:

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

返回一个新数组,该数组包含原数组中,不包含在其他给定数组中的所有元素。

用法:

_.difference(array, [values])

示例:

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

返回一个新数组,该数组去除了原数组中前n个元素。

用法:

_.drop(array, [n=1])

示例:

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

返回一个新数组,该数组去除了原数组中后n个元素。

用法:

_.dropRight(array, [n=1])

示例:

_.dropRight([1, 2, 3], 2);
// => [1]
 
_.dropRight([1, 2, 3], 5);
// => []
  
_.dropRight([1, 2, 3], 0);
// => [1, 2, 3]
_.fill

用指定值替换原数组中指定位置的元素。

用法:

_.fill(array, value, [start=0], [end=array.length])

示例:

var array = [1, 2, 3];
 
_.fill(array, 'a');
console.log(array);
// => ['a', 'a', 'a']
 
_.fill(Array(3), 2);
// => [2, 2, 2]
 
_.fill([4, 6, 8, 10], '*', 1, 3);
// => [4, '*', '*', 10]
_.flatten

将一个多维数组拍平成一维数组。

用法:

_.flatten(array)

示例:

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

将一个多维数组递归拍平成一维数组。

用法:

_.flattenDeep(array)

示例:

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

获取原数组中的第一个元素。

用法:

_.head(array)

示例:

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

返回指定元素在数组中首次出现的索引,如果不存在则返回-1。

用法:

_.indexOf(array, value, [fromIndex=0])

示例:

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

返回原数组中除了最后一个元素之外的所有元素。

用法:

_.initial(array)

示例:

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

返回所有数组中均存在的元素。

用法:

_.intersection([arrays])

示例:

_.intersection([1, 2, 3], [101, 2, 1, 10], [2, 1]);
// => [1, 2]
_.join

将原数组中的所有元素用指定分隔符拼接成一个字符串。

用法:

_.join(array, [separator=','])

示例:

_.join(['a', 'b', 'c'], '~');
// => 'a~b~c'
_.last

获取原数组中的最后一个元素。

用法:

_.last(array)

示例:

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

从原数组中删除所有给定的值。

用法:

_.pull(array, [values])

示例:

var array = ['a', 'b', 'c', 'a', 'b', 'c'];
 
_.pull(array, 'a', 'c');
console.log(array);
// => ['b', 'b']
_.pullAll

与 _.pull 的作用相同,只是传入的是一个数组。

用法:

_.pullAll(array, values)

示例:

_.pullAll(['a', 'b', 'c', 'a', 'b', 'c'], ['a', 'c']);
// => ['b', 'b']
_.reverse

返回一个新数组,该数组的元素反转排列。

用法:

_.reverse(array)

示例:

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

返回一个从原数组中取出的子数组。

用法:

_.slice(array, [start=0], [end=array.length])

示例:

_.slice([1, 2, 3], 1);
// => [2, 3]
 
_.slice([1, 2, 3], 1, 2);
// => [2]
 
_.slice([1, 2, 3], -2);
// => [2, 3]
_.sortedIndex

返回一个值在数组中的排序位置。

用法:

_.sortedIndex(array, value)

示例:

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

返回一个新数组,该数组去除了原数组中的第一个元素。

用法:

_.tail(array)

示例:

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

返回一个新数组,该数组从原数组的起始位置取出n个元素。

用法:

_.take(array, [n=1])

示例:

_.take([1, 2, 3]);
// => [1]
 
_.take([1, 2, 3], 2);
// => [1, 2]
 
_.take([1, 2, 3], 5);
// => [1, 2, 3]
 
_.take([1, 2, 3], 0);
// => []
_.union

返回一个新数组,该数组包含所有给定数组中的唯一值。

用法:

_.union([arrays])

示例:

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

返回一个新数组,该数组包含原数组中的唯一值。

用法:

_.uniq(array)

示例:

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

将多个数组按相应索引位置合并成一个新数组,相当于将多个数组的行转换为一列。

用法:

_.zip([arrays])

示例:

_.zip(['a', 'b'], [1, 2], [true, false]);
// => [['a', 1, true], ['b', 2, false]]

以上就是 Lodash 集合操作的全部内容,希望对你的开发有所帮助!