Lors d'une itération sur les propriétés d'un objet, est-il sûr de les supprimer dans une boucle for-in?
Par exemple:
for (var key in obj) {
if (!obj.hasOwnProperty(key)) continue;
if (shouldDelete(obj[key])) {
delete obj[key];
}
}
Dans de nombreuses autres langues, itérer sur un tableau ou un dictionnaire et en supprimer à l'intérieur n'est pas sûr. Est-ce que ça va dans JS?
(J'utilise le runtime Spidermonkey de Mozilla.)