数组

一、创建数组

var  a:Arrya = new Array(10); //创建一个长度为10的数组对象
var a:Array = new Array(i,j,m,true,new Object()); //创建一个数组对象,并且实例化
var letters:Array = ["a","b",true,new Object()]; //用[]操作符创建数组对象,并对数组赋初值

二、数组添加值

1、向尾部添加元素

Array 变量.push(元素1,元素2,..);

2、向首部添加元素

Array 变量 .unshift(元素1,元素2,...);

三、搜索匹配的数组元素

var letter:Array=["a","b","c","d","b","c"];
var match::String = "b";
for (var i :int = 0 ; i < letter.length; i ++)
{
if(letter[i]==match)
{
trace(
"find match");
break;
}
}

四、删除数组元素

1、删除任意元素函数splice

Array 变量.splice(开始下标,删除元素个数);

2、删除首部元素shift

Array 变量.shift();

3、删除尾部元素pop

Array 变量.pop();

4、删除特定值的数组元素

var numbersArray= new Array(4,10);
numbers[
4]= 1 ; //显示; 4,10 ,undefined,undefined,1
for(var i :int = 0 ; i <numbers.length; i ++)
{
if (numbers[i]==undefined)
{
numbers.splice(i,
1);//删除undefined元素;
   i--; // 删除后数组的长度为会自动改变,这时i也要跟着变化
}
}

五、在数组中插入元素

数组变量.splice(开始位置,0,新元素1,新元素2,..);

六、字符串与数组的转换

字符串变量.split(分隔符,数组长度)  。 字符串转换为数组

数组变量.join(连接符) . 数组转换为字符串

七、复制数组

数组变量的赋值只是表示两个数组变量指向相同的引用位置,数组变量指向的是同一个内在空间。对于Flex的组件对象也是如此。所以复制要用专门的复制方法,不能直接用赋值方法

Array 变量.concat();

Array 变量.slice(开始下标);

八、多维数组

var 变量名:Array = new Array():

变量名.push(["Maroon",'1997',"Honda"]);

变量名.push(一维数组2)

...

九、数组排序

数组变量.sort(排序常量1|排序常量2...)

数组变量.sortOn(["关键字1"|”关键字2“|....]) 。这个是针对索引数组(联合数组)进行排序

car.sortOn("year",Array.DESCENDING);

自定义排序

数组变量.sort(比较函数名);

十、联合数组

1、联合数组其实就Json格式的对象

var 变量名:object{关键字1:值,关键2:值,.....}

2、访问联合数组

联合数组变量.关键字

联合数组变量[”关键字“]  这种更灵活些,因为关键字可以动态变量

3、遍历联合数组

for( var sRole:String in members)
{
   trace(sRole + ":" + members[sRole]);  //members是一个联合数组 
}
posted @ 2011-08-18 16:32  木之源  阅读(132)  评论(0编辑  收藏  举报