var numberArray = [1,2,3,4, 5,6,7,8,9, 9, 4];
var newArray = [];
function primeChecker(arrayCheck){
for (var i = 0; i < arrayCheck.length; i++){
if (Math.sqrt(arrayCheck[i]) % 1 === 0) {
newArray.push(arrayCheck[i]);
}
}
for (var x = 0; x < newArray.length; x++){
newArray.sort();
if (newArray[x] === newArray[x -1]){
newArray.splice(newArray[x-1]);
}
}
}
primeChecker(numberArray);
console.log(newArray);
返回的数组为[1,4,4,9]。该函数成功摆脱了重复的9s,但我仍然剩下两个4s。关于为什么会这样的任何想法?我是JavaScript初学者,对语言不完全熟悉。
最佳答案
向后循环。当您从数组中删除项目时,数组会变短。
关于javascript - 无法摆脱JavaScript中的重复项。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32075169/