📌  相关文章
📜  过滤数组以获取唯一值 - Javascript (1)

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

过滤数组以获取唯一值 - Javascript

在开发时,经常需要对数组进行去重操作以获取唯一值。Javascript提供了几种方式可以实现此功能。

1. 使用Set

ES6引入了Set数据结构,它类似于数组,但是成员的值都是唯一的。因此,将一个数组转换为Set数据结构,然后再转回数组,就可以实现数组去重的效果。

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

使用filter方法可以实现数组去重的效果,原理是遍历整个数组,将重复的元素过滤掉。

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

使用reduce方法可以将数组元素逐个处理,最终将其转换为一个新的数组。在处理过程中,将重复的元素过滤掉。

const arr = [1, 2, 2, 3, 3, 4];
const uniqueArr = arr.reduce((prev, curr) => prev.includes(curr) ? prev : [...prev, curr], []);
console.log(uniqueArr); // [1, 2, 3, 4]
总结

以上是三种常见的方法,可以实现数组去重的效果。对于较小的数组,使用任何一种方法都可以快速实现,但对于大型数组,建议使用Set结构,因为它的效率更高。