在下面的代码示例中,我理解这段代码没有找到给定数组中的唯一值,但我不知道如何解决玩具问题,但想知道为什么输出包含值2两次。 [1,2,3,4,5,5]
let arr = [1,2,3,4,5,5,3,2,1];
function findUniq(arr) {
let other = [];
let reduced = arr.reduce(function(allNums, num){
if(num in allNums) {
other.push(num);
} else {
allNums.push(num);
}
return allNums;
}, []);
return reduced;
}
console.log(findUniq(arr));
在我看来,当arr [5]被评估时,它应该使用'if语句'的第一部分并将其推入'other'数组。 (但也许我不能正确理解'in'运算符)