PDA

Просмотр полной версии : Порядок перебора в ассоциативных массивах


Akopalipsis
28.12.2013, 16:05
Поиском я смог найти только то, что элементы ассоциативных массивов, при переборе forin, foreach не имеют строгого порядка. Но ведь какой то должен быть, а вот какой?

КорДум
28.12.2013, 16:09
В as3 ассоциативные массивы в отличие от ассоциативных массивов в том же PHP, например, не linked.
http://racer242.blogspot.ru/2008/05/for-in-as3.html

Akopalipsis
28.12.2013, 18:49
КорДум Спасибо Большое!

Добавлено через 2 часа 21 минуту
Что то не сходится :) Почему так? Ведь написано, что если свойства задавать после создания, то порядок будет...
var type:String ;
var object:Object = new Object();
object.a = 1;
object.b = 1;
object.c = 1;
object.d = 1;
for (type in object)
{
trace(type);//bcad
}

СлаваRa
28.12.2013, 19:07
Если, Вам очень сложно прочитать справку...
http://service.crazypanda.ru/v/clip2net/3/O/350l1EzDq7.png

зы
про for each стоит смотреть спеку по e4x

Akopalipsis
28.12.2013, 19:11
Если, Вам очень сложно прочитать справку...
Так мне не сложно, о чём я и написал в первом посте. Но в приведенном примере ( по ссылки ) -
Если же добавить переменные после создания обьекта:
var t:Object = new Object();
t.a = 1;
t.b = 1;
t.c = 1;
в for .. in они придут в том же порядке a,b,c.
что и ввело меня в заблуждение. Спасибо! А то я сидел бы пока сума не сошел :)

КорДум
28.12.2013, 20:04
Akopalipsis, я не читал комментарий к заметке по ссылке и только сейчас обратил внимание на него. Да, он бредовый.

Akopalipsis
28.12.2013, 20:07
КорДум не чего страшного, Спасибо ещё раз!