2010-01-15 4 views
1

Si j'ai un tableau, je peux définir les clés en procédant comme suit:Réglage Actionscript clés d'objet

var example:Array = new Array(); 

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

Si je veux faire quelque chose avec des objets, comment pourrais-je y parvenir?

J'ai essayé les suivantes:

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 

est-il un bon moyen d'y parvenir?

Je comprends que je pouvais faire ceci:

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

Mais il ne me convient pas.

Répondre

2

La notation [] a le même sens de faire un new Array() donc quand vous faites:

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

vous créez en fait un tableau avec deux éléments qui sont l'objet {x:500, y:45} et {x:432, y:23}.

Si vous voulez créer un objet avec la clé 20 et 324 utilisent la notation {} qui est le même un new Object()

Ainsi, votre exemple est devenu =>

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

Vous pouvez faire la même chose comme votre premier exemple en utilisant un Object au lieu d'un Array:

var example:Object = new Object(); 

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

Absolument génial. J'aurais aimé qu'il y ait une notation abrégée pour ça, mais c'est un bon feedback et ça fonctionne donc je ne me plains pas! Merci! – meridimus