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