js查找数组中重复元素
时间: 2023-11-08 18:05:45 浏览: 45
可以使用双重循环或者哈希表来查找数组中的重复元素。以下是两种方法的实现:
1. 双重循环
```javascript
function findDuplicates(arr) {
let result = [];
for (let i = 0; i < arr.length - 1; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (arr[i] === arr[j] && !result.includes(arr[i])) {
result.push(arr[i]);
}
}
}
return result;
}
const arr = [1, 2, 3, 4, 5, 1, 3, 5];
console.log(findDuplicates(arr)); // [1, 3, 5]
```
2. 哈希表
```javascript
function findDuplicates(arr) {
let map = new Map();
let result = [];
for (let i = 0; i < arr.length; i++) {
if (map.has(arr[i]) && !result.includes(arr[i])) {
result.push(arr[i]);
} else {
map.set(arr[i], 1);
}
}
return result;
}
const arr = [1, 2, 3, 4, 5, 1, 3, 5];
console.log(findDuplicates(arr)); // [1, 3, 5]
```
以上两种方法的时间复杂度都是 O(n^2),如果数组长度较大,建议使用哈希表来提高查找效率。