首页 > 解决方案 > 删除数组元素

问题描述

如果BOOK_COPY_IDid在第 0 个索引处都相等,则我的整个数组将变为空。如果我放回,它也会被删除。

这是我的代码:

var i = 0;
    while(i < bookLoop.length)
    {
        if(parseInt(bookLoop[i].BOOK_COPY_ID) == parseInt(id))
        {
           bookLoop.splice(i);           
        }
        i++;
    }

标签: javascriptjqueryarrays

解决方案


你错过deleteCountsplice. 没有它,它会删除索引之外的所有元素:

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++;
    }
}

推荐阅读