我试图从数组中移除重复称为“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