📌  相关文章
📜  如何在javascript中删除数组中的重复项(1)

📅  最后修改于: 2023-12-03 14:52:43.721000             🧑  作者: Mango

如何在javascript中删除数组中的重复项

数组是javascript中常用的数据类型,但数组中可能会包含重复的元素,影响数据处理结果。本文介绍如何使用javascript来删除数组中的重复项。

方法一:利用ES6 Set

Set是ES6中引入的一个新数据类型,其成员的值是唯一的,没有重复的值。我们可以将数组转换成Set,再将Set转换回数组的方式来删除重复项。

let arr = [1, 2, 3, 3, 4, 4, 5];
let newArr = Array.from(new Set(arr));
// 或者用以下方式替代上面的写法
// let newArr = [...new Set(arr)];
console.log(newArr); // [1, 2, 3, 4, 5]

上述代码中,我们通过Array.from()方法将Set转换为数组。或者可以使用扩展运算符(...)来将Set转换成数组。

方法二:使用循环遍历去重

我们可以使用循环遍历数组,判断数组中的每个元素是否已经存在于新数组中。如果不存在,则添加进新数组中。

let arr = [1, 2, 3, 3, 4, 4, 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]

上述代码中,我们使用循环遍历数组arr,判断数组中的每个元素是否已经存在于新数组newArr中。如果不存在,则将元素添加进新数组中。

方法三:使用filter方法

我们可以使用filter()方法过滤出不重复的元素,保留到新数组中。

let arr = [1, 2, 3, 3, 4, 4, 5];
let newArr = arr.filter(function (item, index, arr) {
  return arr.indexOf(item) === index;
});
console.log(newArr); // [1, 2, 3, 4, 5]

上述代码中,我们使用filter()方法过滤出不重复的元素,并将其保留到新数组中。

总结

以上就是javascript中删除数组中的重复项的几种方法。ES6中引入的Set是最简单的方法,也是推荐的方法。而通过循环遍历和使用filter方法来删除数组中的重复项则可以支持更早的javascript版本。根据实际情况选择适合自己项目的方法。