Установка ключей объекта Actionscript - PullRequest
1 голос
/ 15 января 2010

Если у меня есть массив, я могу установить ключи, выполнив следующие действия:

var example:Array = new Array();

example[20] = "500,45";
example[324] = "432,23";

Если бы я хотел что-то сделать с Объектами, как бы мне этого добиться?

Я попробовал следующее:

var example:Object = [{x:500, y:45}, {x:432, y:23}]; // Works but keys are 0 and 1

var example:Object = [20: {x:500, y:45}, 324: {x:432, y:23}]; // Compile errors

var example:Object = [20]: {x:500, y:45}, [324]: {x:432, y:23}; // Compile errors

var example:Object = [20] {x:500, y:45}, [324] {x:432, y:23}; // Compile errors

Есть ли хороший способ добиться этого?

Я понимаю, что мог бы сделать это:

var example:Object = {id20 : {x:500, y:45}, id324: {x:432, y:23} };

Но меня это не устраивает.

1 Ответ

2 голосов
/ 15 января 2010

Нотация [] имеет то же значение, что и new Array(), поэтому, когда вы делаете:

var example:Object = [{x:500, y:45}, {x:432, y:23}];

вы фактически создаете массив с двумя элементами, которыеявляются объектами {x:500, y:45} и {x:432, y:23}.

Если вы хотите создать объект с ключами 20 и 324, используйте обозначение {}, которое совпадает с new Object()

пример стал =>

var example:Object = {20: {x:500, y:45}, 324: {x:432, y:23}};

Вы можете сделать то же, что и в первом примере, используя Object вместо Array:

var example:Object = new Object();

example[20] = "500,45";
example[324] = "432,23";
...