5.15.创建关联数组

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

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


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

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

用{ } ,而且用逗号分开每个键值对,键值对之间用:,像下面:
+展开
-ActionScript
var memebers:Object = {scribe: "Franklin",
chairperson: "Gina",
treasurer: "Sindhu"};

也可以像下面那样创建关联数组:
+展开
-ActionScript
var members:Object = new Object( );
members.scribe = "Franklin";
members.chairperson = "Gina";
members.treasurer = "Sindhu";

有两种方法访问关联数组内容,一种是通过访问属性名称(关键字):
+展开
-ActionScript
trace(members.scribe); // 显示: Franklin

另一种就像数组那样,把关键字作为下标来访问,用[ ] 符号:
+展开
-ActionScript
trace(members["scribe"]); // 显示: Franklin

这种方式更加灵活,可以在数组中进行遍历,对于动态生成的关键值和内容这种访问方式是最好的,例如:
+展开
-ActionScript
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];
}

数组访问方式在循环语句里经常用到:
+展开
-ActionScript
var members:Object = new Object( );
members["councilperson"] = "Ruthie";
trace(members.councilperson); // 显示Ruthie
members.councilperson = "Rebecca";
trace(members["councilperson"]); // 显示: Rebecca

加支付宝好友偷能量挖...


评论(0)网络
阅读(106)喜欢(0)flash/flex/fcs/AIR