如果BOOK_COPY_ID
和id
在第 0 个索引处都相等,我的整个数组变空了。如果我输入 return,它也会被删除。
这是我的代码:
var i = 0;
while(i < bookLoop.length)
{
if(parseInt(bookLoop[i].BOOK_COPY_ID) == parseInt(id))
{
bookLoop.splice(i);
}
i++;
}
最佳答案
您缺少 splice
的 deleteCount
参数。如果没有它,它会删除索引后面的所有元素:
bookLoop.splice(i, 1);
您也不应该在拼接时增加 i
,因为您删除了索引:
var i = 0;
while(i < bookLoop.length)
{
if(parseInt(bookLoop[i].BOOK_COPY_ID) == parseInt(id))
{
bookLoop.splice(i);
}
else {
i++;
}
}
关于javascript - 删除数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59511032/