有以下几种方法可以实现 JavaScript 数组去重:

  1. 利用 Set 数据结构

Set 数据结构是 ES6 中新增的一种数据结构,它可以自动去重。我们可以将数组转换为 Set,再将 Set 转换为数组即可。

let arr = [1, 2, 2, 3, 3, 4, 5, 5];
let newArr = Array.from(new Set(arr));
console.log(newArr); // [1, 2, 3, 4, 5]
  1. 利用 indexOf 方法

我们可以遍历数组,利用 indexOf 方法判断数组中是否已经存在该元素,如果不存在,则将该元素加入新数组中。

let arr = [1, 2, 2, 3, 3, 4, 5, 5];
let newArr = [];
for (let i = 0; i < arr.length; i++) {
  if (newArr.indexOf(arr[i]) === -1) {
    newArr.push(arr[i]);
  }
}
console.log(newArr); // [1, 2, 3, 4, 5]
  1. 利用 includes 方法

与 indexOf 方法类似,我们可以利用 includes 方法判断数组中是否已经存在该元素,如果不存在,则将该元素加入新数组中。

let arr = [1, 2, 2, 3, 3, 4, 5, 5];
let newArr = [];
for (let i = 0; i < arr.length; i++) {
  if (!newArr.includes(arr[i])) {
    newArr.push(arr[i]);
  }
}
console.log(newArr); // [1, 2, 3, 4, 5]
  1. 利用 reduce 方法

我们可以利用 reduce 方法和 includes 方法实现数组去重。

let arr = [1, 2, 2, 3, 3, 4, 5, 5];
let newArr = arr.reduce((prev, cur) => {
  if (!prev.includes(cur)) {
    prev.push(cur);
  }
  return prev;
}, []);
console.log(newArr); // [1, 2, 3, 4, 5]
  1. 利用 filter 方法

我们可以利用 filter 方法和 indexOf 方法实现数组去重。

let arr = [1, 2, 2, 3, 3, 4, 5, 5];
let newArr = arr.filter((item, index, arr) => {
  return arr.indexOf(item) === index;
});
console.log(newArr); // [1, 2, 3, 4, 5]
JavaScript 数组去重方法:高效解决方案

原文地址: https://www.cveoy.top/t/topic/lpbm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录