Задать вопрос

Хром сортирует свойства в хеше

Привет, ребята. Такой вопрос. В Хроме есть проблема — он сортирует свойства в хеше. Например,
var hash = {
  1 : 'один',
  3: 'три',
  2: 'два'
};
for (var i in hash) alert(hash[i]); 

Выведет «один, два, три», хотя ожидается совершенно другой порядок.

Другой пример[].associate из MooTools:
Array.prototype.associate = function(keys){
    var obj = {}, length = Math.min(this.length, keys.length);
    for (var i = 0; i < length; i++) obj[keys[i]] = this[i];
    return obj;
};

var hash = ['one', 'three', 'two'].associate(['first','3','2']);

var string = '';

for (var i in hash) string += i + ':' + hash[i] + '; ';

alert(string);
// Chrome: 2:two; 3:three; first:one;
// Other : first:one; 3:three; 2:two;



Я считаю такое поведение совершенно нелогичным и, как минимум, не кроссбраузерным и потому хотелось бы найти способ заставить Хром не заниматься самодеятельностью и сортировать свойства в таком порядке, который я задаю, а не алфавитном.
Есть идеи, как это сделать?
  • Вопрос задан
  • 2830 просмотров
Подписаться 2 Оценить 1 комментарий
Ответ пользователя Пума Тайланд К ответам на вопрос (8)
opium
@opium
Просто люблю качественно работать
По мойму можно удариться об стену если надеяться на порядок ключей в хеше.
Ответ написан