前端es6 数组去重
时间: 2024-08-19 09:01:32 浏览: 68
高性能js数组去重(12种方法,史上最全)
ES6 中数组去重有多种方法,这里列举几种常见的:
1. **Set** 集合法:利用 Set 数据结构的特点,它不允许有重复元素,可以将数组转换为 Set,然后再转回数组,实现了去重。
```javascript
let arr = [1, 2, 2, 3, 4, 4];
let uniqueArr = [...new Set(arr)];
```
2. **filter + Array.from** 法:通过 filter 过滤出唯一值,再用 Array.from 转换为数组。
```javascript
let arr = [1, 2, 2, 3, 4, 4];
let uniqueArr = Array.from(new Map(arr.map(item => [item, item])));
```
3. **reduce** 法:使用 reduce 函数迭代数组,根据当前元素和累加器的状态来判断是否需要添加到新数组中。
```javascript
let arr = [1, 2, 2, 3, 4, 4];
let uniqueArr = arr.reduce((acc, cur) => acc.includes(cur) ? acc : [...acc, cur], []);
```
4. **JSON.stringify + JSON.parse** 法:将数组序列化成字符串,然后解析为新的数组,适用于基本类型的数组。
```javascript
let arr = [1, 2, 2, 3, 4, 4];
let uniqueArr = JSON.parse(JSON.stringify(new Set(arr)));
```
注意这种方法对复杂对象无效。
阅读全文