删除对象,使其不会't在for循环中迭代

Remove object so it doesn't iterate in a for loop

本文关键字:for 循环 迭代 对象 删除      更新时间:2023-09-26

我的数据有一个基本设置,如下所示:

myObj = {};
myObj[3] = {};
myObj[3].stuff = 'hello';
myObj[4] = {};
myObj[4].stuff = 'hello';

现在,在某个时刻,我想从myObj中删除[4]。目前我将其设置为false,但这仍然存在于myObj中。就像这个Object {4: false}

这里的问题是,如果我想循环myObj,它仍然会循环4,而我不希望它这样做

如何正确设置数据,以便删除给定的对象,从而不会在for循环中迭代。

我的循环示例是:

var i = 0;
for(var j in myObj){
  i++;
}
console.log(i); // = 2

是不是没有办法去掉[4],所以总数只有1?

使用删除运算符:

delete myObj[4];