Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.04.2015, 19:39
Аватар для Котзилла
Новичок на форуме
Отправить личное сообщение для Котзилла Посмотреть профиль Найти все сообщения от Котзилла
 
Регистрация: 19.04.2015
Сообщений: 4

Пройтись циклом по объекту с сохранением порядка ключей
Всем доброго времени суток.

Задача с виду простая, но бьюсь над ней с самого утра.

Имеется 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
Ответить с цитированием
  #2 (permalink)  
Старый 21.04.2015, 19:51
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Только недавно была подобная тема)
последовательность элементов в объекте
Ответить с цитированием
  #3 (permalink)  
Старый 21.04.2015, 20:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

Котзилла,
если порядок не хранить отдельно вариантов нет, но кто-то считает иначе последовательность элементов в объекте
Ответить с цитированием
  #4 (permalink)  
Старый 21.04.2015, 20:33
Аватар для Котзилла
Новичок на форуме
Отправить личное сообщение для Котзилла Посмотреть профиль Найти все сообщения от Котзилла
 
Регистрация: 19.04.2015
Сообщений: 4

Прошу прощения, не заметил той темы)
Значит, наверное, лучшим вариантом будет переделать выдачу исходных данных, чтобы не городить костыли. Просто таким образом было удобно бы работать с объектами, когда ключ - это его ID.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск