Насколько я знаю, нет встроенной функции Javascript для сортировки массива по его ключам.
Однако для этого не нужно слишком много кода: просто извлеките ключи в их собственный массив, отсортируйте их с помощью обычной функции sort
и пересоберите массив в правильном порядке. Нечто подобное должно сработать:
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;
}
Теперь вы можете просто вызывать свою функцию так:
var myarray = {'eee':12, 'blah':34 'what'=>66, 'spoon':11, 'snarglies':22};
myarray = SortArrayByKeys(myarray);
И вывод будет:
{'blah':34, 'eee':12, 'spoon':11, 'snarglies':22, 'what':66}
Надеюсь, это поможет.
Рабочая тестовая страница здесь: http://jsfiddle.net/6Ev3S/