js 中如何判断array中有重复元素?
时间: 2024-05-07 08:19:45 浏览: 52
JS中去掉array中重复元素的方法
可以使用 Set 数据结构,将数组转换成 Set,如果转换后的 Set 长度小于原数组长度,说明数组中存在重复元素。
示例代码:
```javascript
function hasDuplicate(arr) {
return new Set(arr).size !== arr.length;
}
// 测试
console.log(hasDuplicate([1, 2, 3])); // false
console.log(hasDuplicate([1, 2, 3, 2])); // true
```
另外,如果需要找到数组中的重复元素,也可以使用 Map 数据结构来实现。具体方法是遍历数组,将元素作为 key 存储在 Map 中,如果 key 已经存在,则说明该元素是重复元素。示例代码:
```javascript
function findDuplicate(arr) {
const map = new Map();
const duplicates = [];
for (const item of arr) {
if (map.has(item)) {
duplicates.push(item);
} else {
map.set(item, true);
}
}
return duplicates;
}
// 测试
console.log(findDuplicate([1, 2, 3])); // []
console.log(findDuplicate([1, 2, 3, 2])); // [2]
```
阅读全文