在 Node.js
中,你可以使用多种方法对数组进行去重。以下是几种常见的方法:
- 方法一:使用 Set
Set
是 ES6
中引入的一种数据结构,它只存储唯一的值。你可以利用它来对数组进行去重。
const array = [1, 2, 3, 4, 4, 5, 5, 6];
const uniqueArray = [...new Set(array)];
console.log(uniqueArray); // [1, 2, 3, 4, 5, 6]
- 方法二:使用 filter 和 indexOf
你可以使用 filter
方法结合 indexOf
来过滤掉重复的元素。
const array = [1, 2, 3, 4, 4, 5, 5, 6];
const uniqueArray = array.filter((item, index) => array.indexOf(item) === index);
console.log(uniqueArray); // [1, 2, 3, 4, 5, 6]
- 方法三:使用 reduce
你可以使用 reduce
方法来构建一个新的数组,只包含唯一的元素。
const array = [1, 2, 3, 4, 4, 5, 5, 6];
const uniqueArray = array.reduce((accumulator, currentValue) => {
if (!accumulator.includes(currentValue)) {
accumulator.push(currentValue);
}
return accumulator;
}, []);
console.log(uniqueArray); // [1, 2, 3, 4, 5, 6]
- 方法四:使用 lodash
如果你已经在项目中使用了 lodash
,你可以使用它的 uniq
方法来去重。
const _ = require('lodash');
const array = [1, 2, 3, 4, 4, 5, 5, 6];
const uniqueArray = _.uniq(array);
console.log(uniqueArray); // [1, 2, 3, 4, 5, 6]
- 方法五:使用 Map
你可以使用 Map
来去重,Map
的键是唯一的。
const array = [1, 2, 3, 4, 4, 5, 5, 6];
const uniqueArray = Array.from(new Map(array.map(item => [item, item])).values());
console.log(uniqueArray); // [1, 2, 3, 4, 5, 6]
本来链接:https://360us.net/article/97.html