当前位置: 代码迷 >> Web前端 >> 创设关联数组(转)
  详细解决方案

创设关联数组(转)

热度:47   发布时间:2012-11-23 22:54:33.0
创建关联数组(转)

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


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
  相关解决方案