Порядок элементов в объектах в ActionScript - PullRequest
1 голос
/ 23 декабря 2009

Попробуйте скомпилировать:

var object:Object = {};

object.one = "foo";
object.two = "foo";
object.three = "foo";
object.four = "foo";

for(var key:String in object)
{
    trace(key);
}

... вы получите:

one
four
two
three

Почему испорченный заказ?

Ответы [ 3 ]

2 голосов
/ 23 декабря 2009

Объект в AS3 можно рассматривать как хеш-таблицу, где имя поля является ключом. Таким образом, вы не можете полагаться на порядок создания для получения того же порядка, когда цикл проходит по полю, порядок будет зависеть от алгоритма, используемого для хеширования имени поля.

1 голос
/ 23 декабря 2009

Ключи объекта не упорядочены. Если вам нужно сохранить порядок и выполнить поиск, то вам нужно создать собственную коллекцию, которая обеспечивает эту функциональность.

0 голосов
/ 23 декабря 2009

Что за "испорченный" заказ?

Нет порядка свойств на объекте. for...in может перебирать их в любом порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...