js数组去重方法

js yekong

在JavaScript中,数组去重是指从数组中移除重复的元素,只保留唯一的元素。以下是几种数组去重的方法及其实例代码。

使用Set对象

Set是ES6中引入的一个新的数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值。

const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = [...new Set(array)];
console.log(uniqueArray); // 输出: [1, 2, 3, 4, 5]

使用filter()方法

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]

使用reduce()方法

reduce()方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。

const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = array.reduce((prev, cur) => {
  if (!prev.includes(cur)) {
    prev.push(cur);
  }
  return prev;
}, []);
console.log(uniqueArray); // 输出: [1, 2, 3, 4, 5]

使用forEach()includes()

结合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]

以上是几种常见的JavaScript数组去重方法及其实例代码。每种方法都有其适用场景,可以根据具体需求选择合适的方法.

喜欢