1. 索引数组
定义:数组中的每个元素都存储在指定编号的位置中,这个位置称为该数组的索引。数组的元素都用唯一的整数下标来索引。该索引的起始值为0,每个元素保存在索引指定的位置。多维数组也可以通过索引来访问数组,也是索引数组。
1.1 AS3数组以非零整数为索引的稀疏数组(不要求每个盒子都装东西,即是第1或第9个盒子装东西,其他可留空),不支持类型化数组(即是不要求数组存放同一种类型的数据)
1.2 默认值为null
1.3 数组并不存放对象的本身,而是指向对象的引用
1.4 索引数组声明方式
var a:Array; //只声明一个数组变量a,但没有指向哪个对象,trace得到null
var b:Array = [ ]; //直接声明一个空数组b,trace得到的是空白,不是null
var c:Array = new Array(); //效果同上
var d:Array = [1,2,3,4]; //使用[ ]操作符,建立一个含有1,2,3,4的数组
var e:Array = new Array(5); //声明一个长度为5的空数组,此时每个数组元素都为空
1.5 AS3数组没有类型区分,所有元素初始化后默认值都是null
2. 关联数组
定义:数组中的每个元素都有对应的键值,此键值为唯一的字符串,作为数组元素的索引。关联数组是Object类的实例,每个键值都与一个属性名称对应。关联数组就是键和值对的无序集合。
2.1 创建关联数组
要创建关联数组,有三种方法可以选择:利用Object构造函数创建、使用对象文本创建和使用数组元素创建。
• 利用Object构造函数:构造函数创建关联数组,其格式: var 对象数组:Object={关键字1:值,关键字2:值}
var myArray:Object={name:"lzxt",age:30,address:"zhengzhou"}
• 使用对象文本创建关联数组:该方式在创建时先创建一个对象,不需要初始化对象数据,在使用时再动态的添加关键字和值。
var myObj:Object=new Object()
myObj.name="lzxt"
myObj.age=30
myObj.address="zhengzhou"
• 使用数组元素创建关联数组:该方式同样先创建一个空白的对象,然后使用数组操作符[ ]把关联数组的关键字和值追加到关联数组中。
var myObject:Object=newObject()
myObject["name"]="lzxt"
myObject["age"]=30
myObject["address"]="zhengzhou"
2.2 访问关联数组
• 使用关键字访问:var name:String = myObject.name 或者 var name:String = myObject["name"]
• 循环遍历for ... in 和 for each ... in
var lzxt:Object = {name:"浪子啸天", age:30};
//执行for ... in遍历操作
for (var i:String in lzxt) {
trace("for in 语句输出:"+i + ": " + lzxt[i]);
}
//执行for each遍历操作
for each (var k:String in lzxt){
trace("for each 语句输出:"+k);
}
简单地说,for..in既输出属性,又输处值;for each..in输出值
3. 多维数组
暂略