js 筛选出重复的元素
时间: 2023-10-07 18:09:59 浏览: 53
以下是一种使用 JavaScript 筛选重复元素的方法:
```
const arr = [1, 2, 3, 4, 1, 2, 5, 6, 3];
const duplicates = arr.filter((item, index) => arr.indexOf(item) !== index);
console.log(duplicates); // [1, 2, 3]
```
在这个例子中,我们首先定义了一个数组 `arr`,包含一些重复的元素。然后我们使用数组的 `filter` 方法来筛选出重复的元素。在 `filter` 方法中,我们传入一个函数,该函数接受两个参数:当前元素 `item` 和当前元素的索引 `index`。我们使用 `indexOf` 方法来查找 `item` 在数组中首次出现的索引。如果该索引不等于当前索引,说明该元素已经在之前出现过,因此我们将其保留在结果数组中。最后,我们打印出结果数组,其中包含重复的元素。
相关问题
js筛选出数组中的重复项
你可以使用 JavaScript 中的一些方法来筛选出数组中的重复项。以下是一个示例代码:
```javascript
function findDuplicates(arr) {
let duplicates = [];
let count = {};
for (let i = 0; i < arr.length; i++) {
if (count[arr[i]] === undefined) {
count[arr[i]] = 1;
} else {
count[arr[i]]++;
}
}
for (let num in count) {
if (count[num] > 1) {
duplicates.push(num);
}
}
return duplicates;
}
// 示例使用
let arr = [1, 2, 3, 4, 4, 5, 6, 6];
let duplicates = findDuplicates(arr);
console.log(duplicates); // 输出 [4, 6]
```
这个示例中,我们使用了一个对象 `count` 来记录数组中每个元素的出现次数。然后,我们遍历 `count` 对象,将出现次数大于 1 的元素添加到 `duplicates` 数组中。最后,返回 `duplicates` 数组即可得到重复项。
请注意,这个方法只会返回出现多次的重复项,如果有多个重复的元素,它只会返回其中一个。如果你需要查找所有重复项,可以进行适当的修改。
js删除数组中相同的元素
可以使用以下两种方法来删除JavaScript数组中的重复元素:
1. 使用Set数据结构:将数组转换为Set,然后再将Set转换回数组即可。代码如下:
```
function removeDuplicates(nums) {
return [...new Set(nums)];
}
// 示例用法
const arr = [1, 2, 3, 3, 4, 4, 5];
const uniqueArr = removeDuplicates(arr);
console.log(uniqueArr);
// 输出结果为:[1, 2, 3, 4, 5]。
```
2. 使用filter()方法和indexOf()方法:利用filter()方法筛选出第一次出现的元素,可以通过比较当前元素在数组中的索引与其在循环中的索引是否相等来实现。代码如下:
```
function removeDuplicates(nums) {
return nums.filter((num, index) => nums.indexOf(num) === index);
}
// 示例用法
const arr = [1, 2, 3, 3, 4, 4, 5];
const uniqueArr = removeDuplicates(arr);
console.log(uniqueArr);
// 输出结果为:[1, 2, 3, 4, 5]。
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)