JavaScript中还有哪些其他方式可以去除数组重复项?
时间: 2024-09-30 16:10:13 浏览: 35
在JavaScript中,除了使用`Set`,还有几种常见的方法可以去除数组重复项:
1. **使用双重循环** (Loops): 创建一个新的空数组,并遍历原始数组,如果新数组中还没有当前元素,则添加它。
```javascript
function removeDuplicates(arr) {
let result = [];
for(let i=0; i<arr.length; i++) {
if(result.indexOf(arr[i]) === -1) {
result.push(arr[i]);
}
}
return result;
}
```
2. **利用filter方法** (Array.prototype.filter): 通过判断每个元素是否不在结果数组中来过滤重复项。
```javascript
function removeDuplicates(arr) {
return arr.filter((value, index, self) => self.indexOf(value) === index);
}
```
3. **使用reduce方法** (Array.prototype.reduce): 利用reduce方法结合一个新数组初始化为null,每次迭代检查元素是否在新数组中,若不存在则添加。
```javascript
function removeDuplicates(arr) {
return arr.reduce((acc, curr) => acc.includes(curr) ? acc : [...acc, curr], []);
}
```
阅读全文