首页 > 代码库 > ActionScript 3.0数组操作

ActionScript 3.0数组操作

var arr:Array=new Array();
arr=["a","b","c"];  //赋初值,注意这里的即使单个字符赋值使用的是""
trace(arr[1]);       //获取成员信息
trace(arr.length);    //获取数组中所包含的元素的个数

//接下来使用for循环逐个输出数组的每一个元素,这也称为数组的遍历
var loopTime:int=arr.length;
for (var i:int =0;i<loopTime;i++)
    {  
         trace (arr[i]);
 }


//向数组的末尾添加新元素,使用push()方法
arr.push("d");
trace (arr);     //返回a,b,c,d

//向数组开头插入新元素,使用unshift()方法
arr.unshift("e");
trace(arr);       //返回e,a,b,c,d

//删除数组开头元素,使用shift()方法,删除最后一个元素,使用pop()方法
arr.shift();
trace (arr);

arr.pop();
trace (arr);

trace("\n");

/*若想删除数组任意位置的某个元素,可以使用splice()方法.
   给方法有两个参数,第1个参数确定开始删除的位置,第2个
    参数确定删除元素的个数.   */
arr.splice(1,1);          //从第1个数组元素之后开始,删除1个元素
trace (arr);           //输出a,c

/* splice()方法不仅可以删除数组元素,还可以向数组中添加元素.
   当该方法的第2个参数值为0的时候,表示在第1个参数确定的位置
   之后插入元素.所插入的值可以作为随后的参数传入splice()方法中.*/
arr.splice(1,0,"b");      //在第1个元素之后插入元素"b"
trace (arr);             //返回a,b,c



//想将两个数组内容相连,创建新的数组,使用数组的concat()方法
var arr1:Array=[1,2,3];
var arr2:Array=[4,5,6];
var arr3:Array=arr1.concat(arr2)        //注意,此方法语句没有分号
trace (arr3);


//想将数组中的元素顺序倒转,使用数组的reverse()方法
trace(arr3.reverse());

//数组中元素的数据类型彼此可以不同,例如
var arr4:Array=["a",123,false];   //第1个元素为字符串a,第2个为数字123,第3个为布尔值false

trace("\n");
//多维数组   var arr0:Array=[[1,2,3],[4,5,6],[7,8,9]];


/*数组中也可以存储一些对象,能够通过访问数组元素的属性
   来获取相应的数据.此方法代码清晰明确,实际工作中非常实用*/
var arr5:Array=[  {name:"Lucy",    age:21},
  {name:"Mike",    age:22},
  {name:"Toky",    age:20}
];
trace(arr5[0].name);
trace(arr5[2].age);

trace("\n");


/*针对数组元素为对象的的情况,Flash提供了sortOn()方法,能够对
   数组内部对象元素的各个属性进行排序.如下代码对 arr5 数组内
   元素按age属性进行排序,再输出age数值最小的元素的name的数值*/
var arr6:Array =arr5.sortOn("age")
trace(arr6[0].name);