js数组对象去重方法
时间: 2024-08-27 13:04:24 浏览: 71
JavaScript中有多种方法可以对数组进行去重操作,以下是其中的一些常见方法:
1. **Set** 对象:Set是一个特殊的内置对象,它只允许存储唯一的值(包括原始值和Object)。你可以将数组转换成Set,然后再转回数组,即可实现去重。
```javascript
let arr = [1, 2, 2, 3, 4, 4, 5];
let uniqueArr = [...new Set(arr)];
```
2. **filter() + includes()**:通过遍历数组,检查每个元素是否不在新的数组中,实现去重。
```javascript
let arr = [1, 2, 2, 3, 4, 4, 5];
let uniqueArr = arr.filter((item, index, self) => {
return self.indexOf(item) === index;
});
```
3. **reduce()**:利用reduce方法将数组变为单个值,并基于已存在的值决定元素是否应添加到结果数组。
```javascript
let arr = [1, 2, 2, 3, 4, 4, 5];
let uniqueArr = arr.reduce((prev, curr) => prev.includes(curr) ? prev : [...prev, curr], []);
```
4. **双重循环**:简单的双层for循环,外层遍历数组,内层判断当前元素是否已经存在于新数组中。
```javascript
let arr = [1, 2, 2, 3, 4, 4, 5];
let uniqueArr = [];
for (let i = 0; i < arr.length; i++) {
if (!uniqueArr.includes(arr[i])) {
uniqueArr.push(arr[i]);
}
}
```
阅读全文