![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2009
Сообщений: 14
|
Упёрся в нерешаемую проблему — флеш самостоятельно сортирует массив, причём в непонятном мне порядке.
var test:Array = new Array(); test[0] = 2760; test[1] = 5770; test[2] = 5130; test[3] = 5199; test[4] = 1000; var test2:Array = new Array(); for (var obj:String in test) { trace(obj + " " + test[obj]); // просматриваю исходный массив test2[test[obj]] = test[obj]; } trace(); for (var obj2:String in test2) { trace(obj2 + " " + test2[obj2]); // сравниваю со вторым } Т.е. "1000" вдруг перепрыгнула. Подскажите, пожалуйста, где я натупил? |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 57
|
Обычно они в обратном порядке идут)
|
|
|||||
|
Регистрация: May 2009
Сообщений: 14
|
for each, как я понимаю, действует по тому же принципу? Зачем такая грабля вообще нужна? Кому вдруг понадобится случайным образом выбирать элементы массива?
for не могу применять, т.к. у меня не все элементы заполнены. Т.е. типа такого: user[123]['name'] = "Petya" user[123]['surname'] = "Ivanov" user[427]['name'] = "Vanya" user[427]['surname'] = "Sidorov" Добавлено через 33 секунды Как я уже показал в примере — они идут в необъяснимом порядке Если добавить побольше элементов — там вообще трешняк получается. |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Цитата:
И for each это не грабля. Не всегда нужно перебирать массив по порядку. |
|
|||||
|
Регистрация: May 2009
Сообщений: 14
|
1. Почему тогда в первом случае массив проходится в нужном порядке, а глючит лишь второй?
2. Проблема в том, что у меня разброс айдишников от 1 до 50 миллионов. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
Цитата:
Цитата:
Последний раз редактировалось iNils; 15.04.2010 в 18:08. |
|
|||||
|
Регистрация: May 2009
Сообщений: 14
|
*запутался*
Допустим, свойства объекта идут в произвольном порядке. Но причём тут объекты, если речь идёт о массивах? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Массив тоже объект.
|
|
|||||
|
Регистрация: May 2009
Сообщений: 14
|
Понял.
Я правильно понимаю, что последовательно пройти по массиву-объекту можно лишь используя for? |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:30. |
|
|
« Предыдущая тема | Следующая тема » |
|
|