推荐答案
const uniqueArray = [...new Set(array)];
本题详细解读
1. Set 数据结构
Set
是 ES6 引入的一种新的数据结构,它类似于数组,但成员的值都是唯一的,没有重复的值。因此,Set
可以用来去除数组中的重复元素。
2. 使用 Set 去重
通过将数组传递给 Set
构造函数,可以创建一个 Set
对象。由于 Set
会自动去除重复的元素,因此生成的 Set
对象中只包含数组中的唯一值。
const array = [1, 2, 2, 3, 4, 4, 5]; const uniqueSet = new Set(array);
3. 将 Set 转换回数组
Set
对象本身并不是数组,因此如果需要将去重后的结果转换回数组,可以使用扩展运算符 ...
或者 Array.from
方法。
const uniqueArray = [...uniqueSet]; // 或者 const uniqueArray = Array.from(uniqueSet);
4. 完整示例
结合以上步骤,可以使用一行代码实现数组去重:
const array = [1, 2, 2, 3, 4, 4, 5]; const uniqueArray = [...new Set(array)]; console.log(uniqueArray); // 输出: [1, 2, 3, 4, 5]
5. 注意事项
Set
去重是基于严格相等 (===
) 的,因此对于对象或数组等引用类型,Set
无法去除重复的引用。- 如果需要去除复杂类型的重复项,可能需要结合其他方法(如
JSON.stringify
)来实现。