在迭代过程中删除对象属性是否安全?

10 浏览
0 Comments

在迭代过程中删除对象属性是否安全?

在遍历对象的属性时,在for-in循环中删除它们是否安全?

例如:

for (var key in obj) {
    if (!obj.hasOwnProperty(key)) continue;
    if (shouldDelete(obj[key])) {
        delete obj[key];
    }
}

在许多其他语言中,在数组或字典上进行遍历并在其中删除是不安全的。 在JavaScript中可以吗?

(我正在使用Mozilla的Spidermonkey运行时。)

0