javascript - 删除数组元素
问题描述
如果BOOK_COPY_ID
和id
在第 0 个索引处都相等,则我的整个数组将变为空。如果我放回,它也会被删除。
这是我的代码:
var i = 0;
while(i < bookLoop.length)
{
if(parseInt(bookLoop[i].BOOK_COPY_ID) == parseInt(id))
{
bookLoop.splice(i);
}
i++;
}
解决方案
你错过deleteCount
了splice
. 没有它,它会删除索引之外的所有元素:
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 - 在后端点上工作,但在使用异步箭头函数时出错
- docker - Cluecumber 报告未在 CI 管道中生成失败报告
- java - 一旦应用程序被销毁,粘性服务就会停止
- oauth-2.0 - 验证来自外部 IDP 的 Keycloak 请求 ID
- spring - 在我的 Docker 映像上构建 Spring Native 应用程序
- rdoc - 当我使用 Rdoc 生成 HTML 时,生成的 html 中没有注释块
- mysql - 优化 MySQL-Query 以删除重复项和调整外键引用
- excel - 在excel中生成1000个两位唯一的字母数字代码
- python - 如何在python中实现自动CLAHE?
- virtualenv - 为什么我无法在 Windows 上使用 virtualenv 创建虚拟环境