📜  从数组中删除重复项 (1)

📅  最后修改于: 2023-12-03 15:36:18.664000             🧑  作者: Mango

从数组中删除重复项

当处理数据时,我们需要去除数组中的重复项来减少数据冗余。以下是一些可以使用的方法:

方法一:使用 Set

由于 Set 只会存储唯一的值,我们可以将数组转换为一个 Set,然后将其转换回数组。

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

这个方法相当简洁,但在处理大数组时可能效率较低。

方法二:使用 filter

我们可以通过使用 filter 方法来逐个检查数组中的每个元素是否已经出现过,如果没有,则将其添加到新的数组中。

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

这个方法也非常简洁,并且可以处理大数组。

方法三:使用 reduce

reduce 方法可以帮助我们累加器来比较元素是否已经出现过,如果没有,则将其添加到新的数组中。

const arr = [1, 2, 3, 3, 4, 4, 5];
const uniqueArr = arr.reduce((acc, cur) => acc.includes(cur) ? acc : [...acc, cur], []);
console.log(uniqueArr); // [1, 2, 3, 4, 5]

这个方法代码较长,但也非常高效,因为它只遍历数组一次。

总的来说,以上是几种常见的从数组中删除重复项的方法。具体选择哪种方法取决于个人情况和需求,可以根据实际情况来选择使用。