js数组去重的原生方法
时间: 2024-07-06 20:00:46 浏览: 104
关于JavaScript数组去重的一些理解汇总
JavaScript中有一些原生方法可以用来对数组进行去重操作,下面是几种常见的方法:
1. **Set** 对象:Set 是ES6引入的一个新的数据结构,它类似于数组,但成员的值都是唯一的,没有重复的值。你可以将数组转换为Set,然后再转回数组来实现去重。
```javascript
let arr = [1, 2, 2, 3, 3, 3];
let uniqueArr = [...new Set(arr)];
```
2. **filter()** 方法:结合使用 **indexOf()** 或 **includes()** 方法,过滤出数组中不重复的元素。
```javascript
let arr = [1, 2, 2, 3, 3, 3];
let uniqueArr = arr.filter((value, index, self) => {
return self.indexOf(value) === index;
});
```
3. **reduce()** 方法:遍历数组,通过一个回调函数来判断元素是否已经存在,如果不存在就添加。
```javascript
let arr = [1, 2, 2, 3, 3, 3];
let uniqueArr = arr.reduce((prev, curr) => prev.includes(curr) ? prev : [...prev, curr], []);
```
4. **Map()** 和 **indexOf()**:创建一个新的空数组,然后遍历原数组,只有当新数组中未包含当前元素时才添加。
```javascript
let arr = [1, 2, 2, 3, 3, 3];
let uniqueArr = arr.map((value, index) => {
return !uniqueArr.includes(value) ? value : null;
}).filter(item => item !== null);
```
阅读全文