在处理数据时,数组去重是一种常见任务,它可以帮助我们从数组中删除重复的元素。ES6 提供了多种方法来实现数组去重。

标题:ES6 中去重数组的有效方法标题:ES6 中去重数组的有效方法


Set() 方法

Set() 是一个内置的数据结构,它可以自动去除重复元素。我们可以通过将数组元素转换为 Set,然后再将其转换为数组的方式来实现去重:

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

filter() 方法

filter() 方法可以过滤数组中的元素,仅保留满足特定条件的元素。我们可以使用 filter() 方法结合索引值来实现去重:

```javascript const array = [1, 2, 3, 4, 5, 1, 2, 3]; const uniqueArray = array.filter((value, index) => array.indexOf(value) === index); console.log(uniqueArray); // [1, 2, 3, 4, 5] ```

reduce() 方法

reduce() 方法可以将数组中的元素归并为一个值。我们可以使用 reduce() 方法结合对象属性来实现去重:

```javascript const array = [1, 2, 3, 4, 5, 1, 2, 3]; const uniqueArray = array.reduce((result, value) => { if (!result.hasOwnProperty(value)) { result[value] = true; } return result; }, {}); console.log(Object.keys(uniqueArray)); // [1, 2, 3, 4, 5] ```

sort() 和 filter() 方法

sort() 方法可以对数组中的元素进行排序。我们可以结合 filter() 方法实现去重,方法是先对数组进行排序,然后再过滤出相邻的重复元素:

```javascript const array = [1, 2, 3, 4, 5, 1, 2, 3]; const uniqueArray = array.sort().filter((value, index) => value !== array[index - 1]); console.log(uniqueArray); // [1, 2, 3, 4, 5] ```

选择适合您的方法