JavaScript delete在对象中保持“空”
尝试使用delete从对象中删除元素,但当值消失时,对象中仍有空元素。如图所示: 在以下迭代中导致不必要的行为:JavaScript delete在对象中保持“空”,javascript,Javascript,尝试使用delete从对象中删除元素,但当值消失时,对象中仍有空元素。如图所示: 在以下迭代中导致不必要的行为: for (const [key, value] of ids.entries()) { if (Object.values(this.widget_ids).indexOf(value) >= 0) { delete ids[key] } } 现在,我不能用pop或shift,因为。我需要按键删除的选项,知道如何删除和删除此空插槽吗?或者更好的
for (const [key, value] of ids.entries()) {
if (Object.values(this.widget_ids).indexOf(value) >= 0) {
delete ids[key]
}
}
现在,我不能用pop或shift,因为。我需要按键删除的选项,知道如何删除和删除此空插槽吗?或者更好的方法是,在根本不需要处理的情况下删除它?您可以使用它,它允许在给定索引处删除一定数量的元素
删除元素并在此索引处保留稀疏数组,但不会更改数组的长度
变量ID=[322324435];
ids.0,1;
//^索引
//^要删除的元素计数
console.logids delete的问题是它删除了object属性,但不会重新索引数组或更新其长度。这使得它看起来像是未定义的或空的
从开始,deleteCount从数组中删除元素:
变量ID=[322324435];
ids.indexOf322,ids.indexOf322+1;
console.logids 使用“拼接”而不是“删除”,它只是设置为“未定义” var-id=[1,2,3]; console.logids; id.1,1;
console.logids;我认为您需要这样做:共享您的完整代码?您使用的是数组,这就是您删除的索引保留空值的原因。改为使用一个对象,看看我的示例:只是一个附加组件,因为OP似乎想按id删除:在拼接函数中使用indexOfkey。。。。