js找到数组中重复的值
时间: 2023-08-13 10:03:45 浏览: 50
可以使用两种方法来找到数组中的重复值:
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.push(arr[i]);
}
}
}
return result;
}
const arr = [1, 2, 3, 2, 4, 5, 4];
console.log(findDuplicates(arr)); // Output: [2, 4]
```
2. 使用对象来记录每个元素的出现次数,然后遍历对象,找到出现次数大于1的元素。
```javascript
function findDuplicates(arr) {
let result = [];
let obj = {};
for (let i = 0; i < arr.length; i++) {
if (obj[arr[i]]) {
obj[arr[i]]++;
} else {
obj[arr[i]] = 1;
}
}
for (let key in obj) {
if (obj[key] > 1) {
result.push(parseInt(key));
}
}
return result;
}
const arr = [1, 2, 3, 2, 4, 5, 4];
console.log(findDuplicates(arr)); // Output: [2, 4]
```
这两种方法都可以找到数组中的重复值,但第二种方法的时间复杂度更低,因为它只需要遍历数组和对象一次,而第一种方法需要使用两个嵌套循环。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)