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

时间:2013-08-12 04:38:04

标签: javascript

我的数据基本设置如下:

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?

1 个答案:

答案 0 :(得分:3)

使用删除操作符:

delete myObj[4];