A = { 1:1, 2:2, 3:3, 4:4, 5:5 };
for (var i in A) {
console.log(i);
if (A[i] == 4) delete A[i], A[7] = 7;
if (A[i] == 2) delete A[i], A[0] = 0;
if (A[i] == 7) console.log('seven');
if (A[i] == 0) console.log('zero');
}
console.log(A);
Это похоже на работу, но я не знаю деталей реализации цикла for (.. in ..), чтобы убедиться, что он безопасен в большинстве условий.Безопасно ли модифицировать объект внутри цикла (..in ..)?
See also here the same question about arrays.
http://es5.github.io/#x12.6.4 – Teemu