Deux méthodes permettent de créer des tableaux associatifs dans ActionScript 3.0. La première consiste à utiliser une occurrence de Object. Celle-ci vous permet d’initialiser votre tableau avec un littéral d’objet. Une occurrence de la classe Object, également appelée
objet générique
, fonctionne comme un tableau associatif. Chaque nom de propriété de l’objet générique devient la clé qui permet d’accéder à une valeur stockée.
L’exemple suivant crée un tableau associatif appelé
monitorInfo
, à l’aide d’un littéral d’objet pour initialiser le tableau avec deux paires de clés et de valeurs :
var monitorInfo:Object = {type:"Flat Panel", resolution:"1600 x 1200"};
trace(monitorInfo["type"], monitorInfo["resolution"]);
// output: Flat Panel 1600 x 1200
Si vous n’avez pas besoin d’initialiser le tableau lors de la déclaration, vous pouvez utiliser le constructeur Object pour créer le tableau, comme suit :
var monitorInfo:Object = new Object();
Une fois que le tableau est créé à l’aide d’un littéral d’objet ou du constructeur de la classe Object, vous pouvez lui ajouter de nouvelles valeurs à l’aide de l’opérateur (
[]
) d’accès au tableau ou de l’opérateur point (
.
). L’exemple suivant ajoute deux nouvelles valeurs à
monitorArray
:
monitorInfo["aspect ratio"] = "16:10"; // bad form, do not use spaces
monitorInfo.colors = "16.7 million";
trace(monitorInfo["aspect ratio"], monitorInfo.colors);
// output: 16:10 16.7 million
La clé appelée
aspect ratio
contient un caractère d’espace. Cela est possible dans le cas de l’opérateur (
[]
) d’accès au tableau, mais avec l’opérateur point, une erreur se produit. L’utilisation d’espace dans le nom de vos clés n’est donc pas conseillée.
La seconde méthode pour créer un tableau associatif consiste à utiliser le constructeur Array (ou le constructeur d’une classe dynamique), puis à utiliser l’opérateur (
[]
) d’accès au tableau ou l’opérateur point (
.
) pour ajouter les paires de clés et de valeurs au tableau. Si vous déclarez votre tableau associatif comme étant de type Array, vous ne pouvez pas utiliser de littéral d’objet pour l’initialiser. Ce code crée un tableau associatif appelé
monitorInfo
à l’aide du constructeur Array, et ajoute les clés appelées
type
et
resolution
, ainsi que leurs valeurs :
var monitorInfo:Array = new Array();
monitorInfo["type"] = "Flat Panel";
monitorInfo["resolution"] = "1600 x 1200";
trace(monitorInfo["type"], monitorInfo["resolution"]);
// output: Flat Panel 1600 x 1200
L’utilisation du constructeur Array pour créer un tableau associatif ne présente aucun avantage. Vous ne pouvez pas utiliser la propriété
Array.length
ou une méthode de la classe Array avec des tableaux associatifs, même si vous utilisez le constructeur Array ou le type de données Array. Il est préférable d’utiliser le constructeur Array pour créer des tableaux indexés.