数组去重是将数组中的重复元素删除,只保留唯一的元素。在 ES6 中,提供了多种去重方法,本文将介绍其中最常用的两种:

 ES6 中的数组去重方法 ES6 中的数组去重方法


Set 数据结构

Set 是一种内建的数据结构,它可以自动去除重复的元素。可以使用 `Set()` 构造函数来创建 Set 对象,然后使用 `add()` 方法向 Set 中添加元素。

```javascript const set = new Set([1, 2, 3, 4, 1, 2]); console.log(set); // {1, 2, 3, 4} ```

Array.from() + Set

另一种去重方法是使用 `Array.from()` 方法将 Set 转换回数组。这可以确保返回的数组是原始数组的副本,不会影响原始数组。

```javascript const array = [1, 2, 3, 4, 1, 2]; const uniqueArray = Array.from(new Set(array)); console.log(uniqueArray); // [1, 2, 3, 4] ```

比较两种方法

内存使用:Set 采用哈希表实现,因此内存使用量与数组中的元素数量成正比,而 `Array.from()` 方法需要创建两个额外的数组(Set 和转换后的数组),因此内存使用量更高。 性能:对于较小的数组,两种方法的性能差异并不明显。但是,对于较大的数组,Set 的性能要优于 `Array.from()` 方法。 支持:Set 仅在 ES6 中可用,而 `Array.from()` 方法在 ES5 中也可使用。

什么时候选择哪种方法