【发布时间】:2020-09-22 03:12:33
【问题描述】:
有人可以查看我的代码并解释为什么我的返回值 = 3 而应该是 2 吗?该对象具有正确的计数 {1: 2, 2: 3, 3: 1, 4: 1, 5: 1}。只有两个值 >= 2。
function countDuplicates(arr) {
let dupNums = {};
let count = 0;
for (let i=0; i<arr.length; i++) {
if (dupNums[arr[i]] === undefined) {
dupNums[arr[i]] = 0;
}
if (dupNums[arr[i]] !== undefined) {
dupNums[arr[i]] += 1;
}
if (dupNums[arr[i]] >= 2) {
count++;
}
}
return count;
}
console.log(countDuplicates([1,2,1,3,2,4,5,2]));
【问题讨论】:
-
因为你数过他们不止一次......
标签: javascript arrays for-loop object