循环对象然后删除它们

时间:2013-01-18 04:12:00

标签: javascript

嘿我有一个简单的循环,它迭代一堆对象并检查它们是否与变量匹配,如果它们匹配,我想将它从该列表中删除。

但我不知道该怎么做......这就是我想要做的事情:

//my_objects is global (window.my_objects)

for(var i in my_objects){

   if(my_objects[i].value == 100){
       //remove it
    }

}

除了为它创建数组之外还有其他选择吗?我只能找到只删除该属性的delete,这意味着该对象下次仍将通过我的循环进行迭代。

每隔X秒调用此函数。

1 个答案:

答案 0 :(得分:1)

从对象中删除属性就像这样意味着下次不会在迭代中:

for(var i in my_objects){
   if(my_objects[i].value == 100){
       delete my_objects[i];
    }
}

注意:这会将有问题的对象移除为my_objects上的属性。如果没有其他代码引用现在删除的对象,那么它将可用于垃圾收集并最终释放。

相关问题