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.)