当迭代一个对象的属性时,能否在 for-in 循环中安全地删除它们?
例如:
for (var key in obj) {
if (!obj.hasOwnProperty(key)) continue;
if (shouldDelete(obj[key])) {
delete obj[key];
}
}
在许多其他编程语言中,循环遍历数组或字典并在其中删除不是安全的。在JavaScript中可以这样做吗?
(我正在使用Mozilla的Spidermonkey运行时。)