Пройтись циклом по объекту с сохранением порядка ключей
Всем доброго времени суток.
Задача с виду простая, но бьюсь над ней с самого утра. Имеется json-объект, вида:
var data = {
"1": {id: 1, name: "Объект 1"},
"12": {id: 12, name: "Объект 12"},
"7": {id: 7, name: "Объект 7"},
"10": {id: 10, name: "Объект 10"},
"2": {id: 2, name: "Объект 2"}
};
Нужно выполнить его перечисление в цикле, с сохранением исходного порядка ключей. Пробовал и стандартные циклы JS, и методы из jQuery, ключи все равно идут в порядке возрастания :-/
$.each(data, function(key, value){
alert(value.id);
// Ожидается серия алертов: 1, 12, 7, 10, 2
// а получаем подряд: 1, 2, 7, 10, 12
});
Буду очень благодарен за ваши подсказки, уважаемые гуру JS :) |
Только недавно была подобная тема)
http://javascript.ru/forum/css-html/...-v-obekte.html |
Котзилла,
если порядок не хранить отдельно вариантов нет, но кто-то считает иначе http://javascript.ru/forum/css-html/...-v-obekte.html |
Прошу прощения, не заметил той темы)
Значит, наверное, лучшим вариантом будет переделать выдачу исходных данных, чтобы не городить костыли. Просто таким образом было удобно бы работать с объектами, когда ключ - это его ID. |
| Часовой пояс GMT +3, время: 13:26. |