创建关联数组

要创建用名称元素作为索引的数组
解决办法
创建关联数组
讨论
用关联数组其每个元素都有特定的含义,这一点原来的数组类型是做不到的。


var aMembers:Array =  new Array( "Franklin""Gina""Sindhu");



关联数组在其他的语言叫做哈希表,在ActionScript 里它就是Object 类的一个实例,关联数组使用名称元素来代替数字下标,该名称也被称为关键字或属性,说关键字更好理解些,它关联了元素值,两者一一对应。

创建关联数组不是用Array 类而是Object类创建的,它就是Object 类的一个实例,理论上Object 类是任何类的基类。所有的对象都能作为关联数组,但是除非有特殊需要,最好还是用Object 类创建。

用{ } ,而且用逗号分开每个键值对,键值对之间用:,像下面:

 

var memebers:Object = {scribe:  "Franklin",
chairperson:  "Gina",
treasurer:  "Sindhu"};


也可以像下面那样创建关联数组:

var members:Object =  new Object( );
members.scribe =  "Franklin";
members.chairperson =  "Gina";
members.treasurer =  "Sindhu";


有两种方法访问关联数组内容,一种是通过访问属性名称(关键字):

trace(members.scribe);  // 显示: Franklin


另一种就像数组那样,把关键字作为下标来访问,用[ ] 符号:

trace(members[ "scribe"]);  // 显示: Franklin


这种方式更加灵活,可以在数组中进行遍历,对于动态生成的关键值和内容这种访问方式是最好的,例如:

var members:Object =  new Object();
members.councilperson1 =  "Beatrice";
members.councilperson2 =  "Danny";
members.councilperson3 =  "Vladamir";
for ( var i: int = 1; i <= 3; i++) {
trace(members[ "councilperson" + i];
}


数组访问方式在循环语句里经常用到:

var members:Object =  new Object( );
members[ "councilperson"] =  "Ruthie";
trace(members.councilperson);  // 显示Ruthie
members.councilperson =  "Rebecca";
trace(members[ "councilperson"]);  // 显示: Rebecca

你可能感兴趣的:(actionscript)