オブジェクトのプロパティを反復処理するとき、for-inループ内でそれらを削除しても安全ですか?
例えば:
for (var key in obj) {
if (!obj.hasOwnProperty(key)) continue;
if (shouldDelete(obj[key])) {
delete obj[key];
}
}
他の多くの言語では、配列または辞書を繰り返し処理し、その内部を削除することは安全ではありません。JSでは大丈夫ですか?
(私はMozillaのSpidermonkeyランタイムを使用しています。)