如何用 JavaScript 实现数组的去重?请举几个例子。

在 JavaScript 中,数组去重可以通过多种方法实现。比如使用 Set、filter 和 indexOf 的组合,或者 reduce 方法。

JavaScript 中等 去重 数组 数组操作

在 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]