Quando si itera sulle proprietà di un oggetto, è sicuro eliminarli durante un ciclo for-in?
Per esempio:
for (var key in obj) {
if (!obj.hasOwnProperty(key)) continue;
if (shouldDelete(obj[key])) {
delete obj[key];
}
}
In molte altre lingue l'iterazione su un array o un dizionario e l'eliminazione all'interno di ciò non è sicuro. Va bene in JS?
(Sto usando il runtime Spidermonkey di Mozilla.)