Hasta donde yo sé, no hay una función incorporada de Javascript para ordenar una matriz por sus claves.
Sin embargo, no debería tomar demasiado código para hacerlo: simplemente extraiga las claves en su propia matriz, ordénelas usando la función normal sort
, y reconstruya la matriz en el orden correcto. Algo como esto debe hacer el truco:
function SortArrayByKeys(inputarray) {
var arraykeys=[];
for(var k in inputarray) {arraykeys.push(k);}
arraykeys.sort();
var outputarray=[];
for(var i=0; i<arraykeys.length; i++) {
outputarray[arraykeys[i]]=inputarray[arraykeys[i]];
}
return outputarray;
}
Ahora usted puede simplemente llamar a su función, así:
var myarray = {'eee':12, 'blah':34 'what'=>66, 'spoon':11, 'snarglies':22};
myarray = SortArrayByKeys(myarray);
Y la salida será:
{'blah':34, 'eee':12, 'spoon':11, 'snarglies':22, 'what':66}
Espero que ayude.
Trabajando página de prueba aquí: http://jsfiddle.net/6Ev3S/
Esta no fue la única buena respuesta, pero esta fue la que más se acercó a hacer lo que quería de una manera que podía entender. Eso no quiere decir que sea la mejor respuesta. –