尝试使用 删除对象中的元素delete,但是当值消失时,对象中仍然“空”。如图所示:
这会在以下迭代中导致不需要的行为:
for (const [key, value] of ids.entries()) {
if (Object.values(this.widget_ids).indexOf(value) >= 0) {
delete ids[key]
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我不能使用pop或shift因为。我需要按键删除的选项,知道如何删除和删除这个空插槽吗?甚至更好的是,在根本没有处理它的情况下删除它?
您可以使用Array#splice,它允许在给定索引处删除一定数量的元素。
delete 删除元素并在此索引处留下一个稀疏数组,但不会更改数组的长度。
var ids = [322, 324, 435];
ids.splice(0, 1);
// ^ index
// ^ count of elements to delete
console.log(ids);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1766 次 |
| 最近记录: |