Como iterar as propriedades do objeto javascript na ordem em que foram gravadas
Identifiquei um bug no meu código que espero resolver com o mínimo esforço de refatoração. Esse bug ocorre nos navegadores Chrome e Opera. Problema:
var obj = {23:"AA",12:"BB"};
//iterating through obj's properties
for(i in obj)
document.write("Key: "+i +" "+"Value: "+obj[i]);
Saída em FF, IE Chave: 23 Valor: Chave AA: 12 Valor: BB
Saída no Opera e Chrome(Errado)
Chave: 12 Valor BB
Chave: 23 Valor AA
Eu tentei fazer um objeto ordenado inverso como este
var obj1={"AA":23,"BB":12};
for(i in obj1)
document.write("Key: "+obj[i] +" "+"Value: "+i);
No entanto, a saída é a mesma. Existe uma maneira de obter para todos os navegadores o mesmo comportamento com pequenas alterações?