1、安装 Lodash
npm i --save lodash
2、引入
const _ = require("lodash");
3、使用
//_.方法名()
_.chunk(["a", "b", "c", "d"], 2)
_.compact([0, "1", 1, 2, 3, null])
4、示例
4.1 _.chunk
将数组拆分成多个长度的区块,并将这些区块组成一个新数组。 如果array 无法被分割成全部等长的区块,那么最后剩余的元素将组成一个区块。
参数(array,size长度)
console.log(_.chunk(["a", "b", "c", "d"], 2)); //['a','b'] ['c','d']
console.log(_.chunk(["a", "b", "c", "d"], 3)); //["a", "b", "c"] ['d']
4.2 _.compact
创建一个新数组,包含原数组中所有的非假值元素。例如false, null,0, "", undefined, 和 NaN 都是被认为是“假值”。
参数(array)
console.log(_.compact([0, "1", 1, 2, 3, null])); //['1',1,2,3]
4.3 _.concat
创建一个新数组,将array与任何数组 或 值连接在一起。
参数(array,连接的值,...)
let arr1 = [1, 2, 3, 4];
let arr2 = ["a", "b", "c", "d"];
let str = "我不是数组";
console.log(_.concat(arr1, arr2)); // [1, 2, 3, 4, 'a', 'b', 'c', 'd']
console.log(_.concat(arr1, str, null)); //[1, 2, 3, 4, '我不是数组',null]
4.4 _.difference
创建一个具有唯一array值的数组,每个值不包含在其他给定的数组中。(注:即创建一个新数组,这个数组中的值,为第一个数字(array 参数)排除了给定数组中的值。)该方法使用SameValueZero做相等比较。结果值的顺序是由第一个数组中的顺序确定。
参数(array,排除的值,...)
let arr1 = [1, 2, 3, 4, 5, 6];
let arr2 = [5, 6];
console.log(_.difference(arr1, arr2)); //[1, 2, 3, 4]
4.5 _.differenceBy
这个方法类似_.difference ,除了它接受一个 iteratee (注:迭代器), 调用array 和 values 中的每个元素以产生比较的标准。 结果值是从第一数组中选择。iteratee 会调用一个参数:(value)。(注:首先使用迭代器分别迭代array 和 values中的每个元素,返回的值作为比较值)。
参数(array,排除的值,iteratee调用每个元素)
let arr1 = [1.1, 1.2, 1.3, 1.4, 1.5, 1.6];
let arr2 = [1.4];
let interatee1 = Math.round;
console.log(_.differenceBy(arr1, arr2, interatee1)); //[1.5, 1.6] interatee对arr1,arr2中的每个元素进行Math.round后,再比较
let arr3 = [{ x: 1 }, { x: 2 }];
let arr4 = [{ x: 1 }];
let interatee2 = "x";
console.log(_.differenceBy(arr3, arr4, interatee2)); //[{'x':2}]
4.6 _.drop
创建一个切片数组,去除array前面的n个元素(n默认值为1)
参数(array,要去除的元素个数)
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(_.drop(arr)); // [2, 3, 4, 5, 6, 7, 8, 9]
console.log(_.drop(arr, 3)); // [4, 5, 6, 7, 8, 9]
console.log(_.drop(arr, 10)); //[]