JavaScript: ¿cómo crear una matriz asociativa que garantice el orden?

¿Cómo puedo crear una matriz asociativa quegarantiza orden?

Objeto (no orden de garantía):

var obj = {
  "first":"first",
  "2":"2",
  "34":"34",
  "1":"1",
  "second":"second"
};
for (var i in obj) {
    console.log(i);
};

Resultado:

1
2
34
first
second

Formación:

var a = new Array();
a['first'] = "first";
a['2'] = "2";
a['34'] = "34";
a['1'] = "1";
a['second'] = "second";
console.log(a); // [1: "1", 2: "2", 34: "34", first: "first", second: "second"]

for (var i in a) {
    console.log(i);
};

Resultado:

1
2
34
first
second

La matriz no garantiza el orden en absoluto.

¿Cómo puedo crear una matriz correcta que garantice el orden entonces?

Respuestas a la pregunta(2)

Su respuesta a la pregunta