javascript - 删除数组元素

标签 javascript jquery arrays

如果BOOK_COPY_IDid在第 0 个索引处都相等,我的整个数组变空了。如果我输入 return,它也会被删除。

这是我的代码:

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

最佳答案

您缺少 splicedeleteCount 参数。如果没有它,它会删除索引后面的所有元素:

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/

相关文章:

Java - 如何使用类名和方法名作为字符串从另一个类调用方法

javascript - 类型错误 : Cannot read property '0' of undefined when comparing the arrays?

javascript - 循环遍历数组并在到达末尾时返回到开头

jquery - 哈希后将数据存储在 URI 中

javascript - 从父窗口关闭子窗口

javascript - 如何在WordPress中使用PHP自动将选项中的值发布到输入值

javascript - 使用 reduce 但有额外条件找到最小值和最大值

javascript - 将选项文本而不是选项值传递到文本字段

javascript - 显示具有匹配 id 的项目

javascript - 基于特定键一起重组数组 - javascript