Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.04.2015, 20:36
Аспирант
Отправить личное сообщение для syegorius Посмотреть профиль Найти все сообщения от syegorius
 
Регистрация: 28.08.2010
Сообщений: 91

последовательность элементов в объекте
доброе время суток

столкнулся с такой проблемой в разных браузера элементы в объектах находятся в разных последовательностях

в мозиле они отображаются в той последовательности в которой я х туда добавил, а в хроме в алфавитном порядке.

подскажите возможно ли каким-то образом указать в всем браузерам что элементы объекта должны отображаться именно в том порядке в каком я их туда добавил?

заранее благодарен за помощь!
Ответить с цитированием
  #2 (permalink)  
Старый 15.04.2015, 20:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

syegorius,
никак
Ответить с цитированием
  #3 (permalink)  
Старый 15.04.2015, 20:46
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Нет. Но можно сделать грязный хак с использованием доп. переменной.

var obj = {};
var arr = [];

arr.push('key1');
obj['key1'] = 'значение';

arr.push('key2');
obj['key2'] = 'значение2';

arr.forEach(function(item) {
  console.log(obj[item]); // выводим по порядку элементы
});


или взять все ключи объекта в виде массива с помощью Object.keys(obj) и использовать https://developer.mozilla.org/ru/doc...cts/Array/sort со своим алгоритмом.
Ответить с цитированием
  #4 (permalink)  
Старый 15.04.2015, 20:48
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от theKingOfJava
 
Регистрация: 31.03.2015
Сообщений: 113

syegorius,
легко
o={b: 1, a: 1}
for(i in o) console.log(i, o[i])
Ответить с цитированием
  #5 (permalink)  
Старый 15.04.2015, 20:54
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от theKingOfJava
 
Регистрация: 31.03.2015
Сообщений: 113

рони,
Я сейчас в мозиле, и у меня работает. ЧЯДНТ?
Ответить с цитированием
  #6 (permalink)  
Старый 15.04.2015, 20:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

theKingOfJava,
ок
Ответить с цитированием
  #7 (permalink)  
Старый 15.04.2015, 20:57
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от theKingOfJava
 
Регистрация: 31.03.2015
Сообщений: 113

syegorius,
И, кстати,
Сообщение от syegorius
находятся
Сообщение от syegorius
отображаются
это сильно разные вещи. Не путайте.
Ответить с цитированием
  #8 (permalink)  
Старый 15.04.2015, 20:58
Аспирант
Отправить личное сообщение для syegorius Посмотреть профиль Найти все сообщения от syegorius
 
Регистрация: 28.08.2010
Сообщений: 91

очень странно...

да в хроме все выдало как мне хотелось бы...

значит хром выводит в алфавитном порядке числовые индексы

var o={30: 1, 1: 2}
for(i in o) console.log(i, o[i])


я просто не знаю как вставить кнопку запустить js
Ответить с цитированием
  #9 (permalink)  
Старый 15.04.2015, 21:01
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от theKingOfJava
 
Регистрация: 31.03.2015
Сообщений: 113

Сообщение от syegorius
числовые индексы
Какие нахер числовые индексы, их нет в цикле for in. Там ключ/значение
Ответить с цитированием
  #10 (permalink)  
Старый 15.04.2015, 21:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Сообщение от syegorius
значит хром выводит в алфавитном порядке числовые индексы
ключи это строки -- и метод for(i in o) не подходит для вывода который бы
Сообщение от syegorius
что элементы объекта должны отображаться именно в том порядке в каком я их туда добавил?
смотрите код Safort,
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив из элементов другого массива, взятых в случайном порядке Basil_JS Общие вопросы Javascript 6 12.04.2015 13:07
запретить изменение количество элементов в списке Antistas jQuery 0 05.12.2012 14:05
Сгенерировать 2 последовательности и узнать сколько в них одинаковых элементов Ирина Владимировна Общие вопросы Javascript 10 24.03.2012 18:18
Как поменять последовательность элементов? AngeIa jQuery 2 11.05.2011 17:57
как проверить наличие элементов в объекте? гвоздик Общие вопросы Javascript 4 30.10.2009 11:33