lodash 数组处理常用方法

2023-09-03  本文已影响0人  苏苡

1. 拼接数组

var array = [1];

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

// => [1, 2, 3, [4]]

2. 过滤排除某一项

var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];

_.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);

// => [{ 'x': 2, 'y': 1 }]

3. 移除某一项

var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];

_.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);

// => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]

4. 去重数组

var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];

_.uniqWith(objects, _.isEqual);

// => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]

5. 重组元素的新数组

var zipped = _.zip([1, 2], [10, 20], [100, 200]);

// => [[1, 10, 100], [2, 20, 200]]

_.unzipWith(zipped, _.add);

// => [3, 30, 300]

6. 两数组过滤相同的值

var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];

var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];

_.xorWith(objects, others, _.isEqual);

// => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]

上一篇下一篇

猜你喜欢

热点阅读