要修复在数组中查找重复项的JavaScript函数将结果打印两次的问题,可以使用以下方法:
方法一:使用Set数据结构
示例代码如下:
function findDuplicates(arr) {
var set = new Set();
var duplicates = [];
for (var i = 0; i < arr.length; i++) {
var num = arr[i];
if (set.has(num)) {
duplicates.push(num);
} else {
set.add(num);
}
}
return duplicates;
}
var arr = [1, 2, 3, 4, 4, 5, 6, 6];
var result = findDuplicates(arr);
console.log(result); // [4, 6]
方法二:使用对象字面量
示例代码如下:
function findDuplicates(arr) {
var obj = {};
var duplicates = [];
for (var i = 0; i < arr.length; i++) {
var num = arr[i];
if (obj[num]) {
duplicates.push(num);
} else {
obj[num] = true;
}
}
return duplicates;
}
var arr = [1, 2, 3, 4, 4, 5, 6, 6];
var result = findDuplicates(arr);
console.log(result); // [4, 6]
这两种方法都可以修复在数组中查找重复项的JavaScript函数将结果打印两次的问题,并且具有较高的效率和可读性。
领取专属 10元无门槛券
手把手带您无忧上云