📅  最后修改于: 2023-12-03 14:51:27.892000             🧑  作者: Mango
在开发过程中,我们经常需要查找数组中是否存在重复的元素。Javascript提供了多种方法来实现这一目的。
我们可以通过使用for循环来遍历数组,并通过双重循环来找到重复元素。
function findDuplicates(arr) {
let duplicates = [];
for(let i=0; i<arr.length; i++) {
for(let j=i+1; j<arr.length; j++) {
if(arr[i] === arr[j]) {
duplicates.push(arr[i]);
break;
}
}
}
return duplicates;
}
let arr = [1, 2, 3, 4, 5, 2, 3];
let duplicatedValues = findDuplicates(arr);
console.log(duplicatedValues); // 输出 [2, 3]
我们也可以使用Javascript的Set来查找重复元素。
function findDuplicates(arr) {
let duplicates = [];
let set = new Set();
for(let i=0; i<arr.length; i++) {
if(set.has(arr[i])) {
duplicates.push(arr[i]);
} else {
set.add(arr[i]);
}
}
return duplicates;
}
let arr = [1, 2, 3, 4, 5, 2, 3];
let duplicatedValues = findDuplicates(arr);
console.log(duplicatedValues); // 输出 [2, 3]
我们还可以使用Javascript的reduce方法来查找重复元素。
function findDuplicates(arr) {
let duplicates = [];
arr.reduce(function(prev, curr) {
if(prev[curr]) {
duplicates.push(curr);
} else {
prev[curr] = true;
}
return prev;
}, {});
return duplicates;
}
let arr = [1, 2, 3, 4, 5, 2, 3];
let duplicatedValues = findDuplicates(arr);
console.log(duplicatedValues); // 输出 [2, 3]
以上三种方法可以解决我们在数组中查找重复项的问题,开发者可以根据实际需求选择合适的解决方法。