flex object 联合数组

本文介绍如何使用ActionScript中的联合数组,即使用名称元素作为索引的数组。文中详细解释了联合数组的概念,并提供了创建和访问联合数组的方法,同时展示了如何利用for...in语句遍历联合数组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题
我要创建用名称元素作为索引的数组
解决办法
创建联合数组
讨论
用联合数组其每个元素都有特定的含义,这一点原来的数组类型是做不到的。
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

读取联合数组
问题
我要怎样遍历联合数组
解决办法
使用for . . . in 语句
讨论
基于整形下标的数组可以通过for 语句进行循环遍历,但是,用关键字作索引的联合数组
就不能这样遍历了,还好,联合数组可以通过for . . . in 语句进行遍历访问。该语句会访问指
定对象所有可用的属性,语法如下:
for ( keyin object) {
// Actions
}
for . . . in 语句不需要循环变量更新语句,决定循环次数的是对象的属性个数。注意这key 就
是存储每个属性名称的:
var members:Object = new Object( );
members.scribe = "Franklin";
members.chairperson = "Gina";
members.treasurer = "Sindhu";
// 使用for . . . in 语句遍历所有元素
for (var sRole:String in members) {
// 显示:
// treasurer: Sindhu
// chairperson: Gina
// scribe: Franklin
trace(sRole + ": " + members[sRole]);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值