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

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

在 Javascript 中删除数组中的重复项

当需要操作一组数据时,我们经常会使用数组来存储数据。但是,数组中常常会存在重复的元素,这时我们就需要删除这些重复的元素。本文将介绍如何在 Javascript 中删除数组中的重复项。

方法一:使用 Set

在 ES6 中引入了一种新的数据类型 Set。Set 数据类型允许你存储任何类型的唯一值,无论是原始类型还是对象引用。我们可以利用 Set 来快速删除数组中的重复项。

const arr = [1, 2, 2, 3, 4, 4, 5];
const newArr = [...new Set(arr)];
console.log(newArr); // [1, 2, 3, 4, 5]

以上代码中,我们首先定义了一个数组 arr,然后通过使用 Set 去重将其转换为一个 Set 对象,最后使用扩展运算符将其转换为一个新数组 newArr。运行以上代码后,控制台输出 [1, 2, 3, 4, 5]。

方法二:使用 indexOf

另一种删除数组中重复项的方法是使用 indexOf 方法。具体步骤如下:

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

以上代码中,我们首先定义了一个空数组 newArr,然后使用 for 循环遍历原数组 arr,每次遍历时通过 indexOf 方法判断该元素是否已经存在于新数组 newArr 中,如果不存在,则将该元素推入新数组中。运行以上代码后,控制台输出 [1, 2, 3, 4, 5]。

方法三:使用 filter

除了上述两种方法,我们还可以使用数组的 filter 方法来删除数组中的重复项:

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

以上代码中,我们使用 filter 方法对原数组进行遍历,将满足条件的元素筛选出来后返回一个新数组 newArr。运行以上代码后,控制台输出 [1, 2, 3, 4, 5]。

以上就是在 Javascript 中删除数组中的重复项的三种方法。我们可以根据实际需求选择不同的方法来实现目标。