Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > поведение for in в опере


Автор: Kefir 9.4.2008, 23:49
Итак, господа, скажите мн, какого чёрта происходит следующее:
Есть скрипт:
Код

var test = new Array();
test['TTÜ 2-408A'] = '1';
test['216'] = '2';
test['219'] = '3';
test['314'] = '3';
test['412'] = '3';
for(var x in test) alert(x);

ну в общем не суть вообще зачем он нужен. главное - для меня важен порядок прохождения по массиву. в ФФ и ИЕ - всё пучком. сначала идёт 'TTÜ 2-408A' и дальше по списку. однако, опера меня огорчила - сначала она пропускает все ключи-числа, и в самом конце выдаёт 'TTÜ 2-408A'. ну не свинство, а? может есть некий символ ЗЮ, который надо написать, чтобы опера не шалила, а?..

Автор: Zeroglif 10.4.2008, 09:50
Цитата(Kefir @  9.4.2008,  23:49 Найти цитируемый пост)
какого чёрта происходит следующее

Браузеры могут выдавать любой порядок (for-in) в зависимости от разных факторов - порядка создания, имени свойства, принадлежности (своё vs. наследуемое) и т.д. "The mechanics of enumerating the properties <...> is implementation dependent. The order of enumeration is defined by the object." (ECMAScript 12.6.4)

Автор: egao 10.4.2008, 10:43
используй реляционную базу данных.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)