我試圖從數組中移除重複稱爲「bigArray」,同時保持數組的三個第一個位置不變(即使他們重複)。splice()在for循環中,解決方案是什麼?
我的問題是for循環中的splice()工作不正常,因爲每次它接合時,for循環跳過數組的下一個位置(因爲那個位置是數組中較低的位置) 。
如何讓我的函數返回[0,0,0,3,2]?
謝謝
var bigArray = [0,0,0,3,2,2,3,3,2];
function call() {
for (let i=3; i < (bigArray.length); i++) {
if (bigArray.indexOf(bigArray[i]) !== i) {
bigArray.splice(i,1);
}
}
console.log(bigArray);
return bigArray;
}
call();
所以你不應該修改原始數組..嘗試使用的過濾器() – guijob