【发布时间】:2018-06-12 03:03:51
【问题描述】:
尝试使用 delete 从对象中删除元素,但是当值消失时,对象中仍然存在“空”。如图所示:
这会在以下迭代中导致不需要的行为:
for (const [key, value] of ids.entries()) {
if (Object.values(this.widget_ids).indexOf(value) >= 0) {
delete ids[key]
}
}
现在,我不能使用 pop 或 shift since 。我需要按键删除的选项,知道如何删除和删除这个空插槽吗?或者更好的是,在完全不处理的情况下删除?
【问题讨论】:
-
分享你的完整代码?
-
您正在使用数组,这就是您删除的索引保持空值的原因。改用一个对象,看看我的例子:image.prntscr.com/image/HmwM_SViSAuoO9qNTbSZEQ.png
标签: javascript