如何用 JavaScript 实现数组的去重?请举几个例子。
在 JavaScript 中,数组去重可以通过多种方法实现。比如使用 Set、filter 和 indexOf 的组合,或者 reduce 方法。
在 JavaScript 中,数组去重可以通过多种方法实现,以下是几种常见的方式:
1. 使用 Set(ES6 引入)
Set 对象存储唯一值,可以快速去重:
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = [...new Set(array)];
console.log(uniqueArray); // 输出: [1, 2, 3, 4, 5]
2. 使用 filter 和 indexOf
通过比较元素的索引来过滤重复项:
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = array.filter((item, index) => array.indexOf(item) === index);
console.log(uniqueArray); // 输出: [1, 2, 3, 4, 5]
3. 使用 reduce
遍历数组并累积唯一值到新数组:
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = array.reduce((acc, current) => {
if (!acc.includes(current)) {
acc.push(current);
}
return acc;
}, []);
console.log(uniqueArray); // 输出: [1, 2, 3, 4, 5]
4. 使用 forEach 和 includes(兼容性好)
手动迭代并检查唯一性:
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = [];
array.forEach(item => {
if (!uniqueArray.includes(item)) {
uniqueArray.push(item);
}
});
console.log(uniqueArray); // 输出: [1, 2, 3, 4, 5]