ActionScriptにおけるMapみたいなオブジェクト 結合配列/連想配列

ActionScript上で連想配列を使うには、ObjectかDctionaryを使います。
ActionScriptでは連想配列とは言わず、結合配列と呼ぶとか。

ArrayってObjectを継承しているから、ArrayとObjectの違いは何だ?と思ってリファレンスを調べたら、Arrayも結合配列として使えるけど、その場合、Arrayのいくつかの関数が使えなくなるからObjectを使ってね、ってことらしい。

Objectクラス

Objectのプロパティを[]で参照して、連想配列として使うことができます。
キーとして指定できるのは文字列のみです。オブジェクトをキーとして使いたい場合は、Dictionaryを使用します。

var employees:Object = new Object();
employees = { e1001:"jhon", e1002:"steven", e1003:"brown" }
trace(employees["e1001"]);

// 値の追加
employees.e1004 = "scott";
employees["e1005"] = "daniel";

// 値の取得
trace(employees.e1004);
trace(employees["e1005"]);

// 全ての値を取得
// for...inステートメントで全てのキーを取得できます
for (var n:String in employees)
{
    trace(n); // key
    trace(employees[n]); value
}

Dictionary

キーに文字列以外を指定したい場合は、Dictionaryが使用できます。
Dictionaryはflash.utilsパッケージに含まれています。

var employees:Dictionary = new Dictionary();
var jhon:Person = new Person();
var steven:Person = new Person();

var e1001:Employee = new Employee();
var e1002:Employee = new Employee();

employees[jhon] = e1001;
employees[steven] = e1002;

trace(Employee(employees[jhon]).getName());

EmployeeクラスとPersonクラスの中身はご想像にお任せします。



配列に関しては、ここにまとまっていました
http://www.tom.sfc.keio.ac.jp/~fjedi/wiki/index.php?%C7%DB%CE%F3%A1%A2%CA%B8%BB%FA%CE%F3%A1%A2%C0%B5%B5%AC%C9%BD%B8%BD%28ActionScript3%29#z7f00c97