@Cacatuidae

Как выполнить итерацию JS объекта в исходной последовательности?

Подскажите, как вывести JS объект в исходной очередности.
Пример: https://jsfiddle.net/ecerev6a/ должен выводить:
Не задан ()
Да (1)
Нет (0)

Но выводит:
Нет (0)
Да (1)
Не задан ()

Как заставить выводить как нужно?
  • Вопрос задан
  • 200 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Никак, нужно использовать структуру данных, в которых порядок элементов гарантирован - массив.
Например:
var ar = [
  {value: '', text: 'Не задан'},
  {value: '1', text: 'Да'},
  {value: '0', text: 'Нет'}
];


Нарушение порядка возникло, потому что ключи численные. Интерпретатор JavaScript видит, что строка на самом деле является числом и преобразует ключ в немного другой внутренний формат. Дополнительным эффектом внутренних оптимизаций является сортировка.

http://learn.javascript.ru/object-for-in#в-каком-п...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы