Flash AS入门教程:数组

时间:2008-10-18 07:04:19  来源:中国教程网论坛  作者:sanbos  【背景色 杏仁黄 秋叶褐 胭脂红 芥末绿 天蓝 雪青 灰 银河白

上一课:Flash AS入门教程:AS常用语句-循环语句

       在前面介绍变量时,我们说将内存分成无数个房间,用来存放数据.每个房间中只能住一个数据,比如房间中原来住着5,后来8又住进这个房间,于是一脚将5踢了出去.现在可能有这种情况,就是8住进来后,不把5踢出去,两个合租.事实上这也是允许的,这种情况就被称为数组.在房间中的各个成员被称为元素, 这一些元素的数据类型不一定是相同的.也就是说在现在开放的年代,男女合租是允许的.比如在房间中又住进去a,它是字符与前面的5、8数字的数据类型就不相同.房间中每个元素都有一个编号,我们在引用这些元素时,只需用编号就行.就如在监狱中的囚犯一样,你叫道:3365出来.于是号数为3365的囚犯出来了.咋一不小心就将数组中的元素整进监狱了呢?需要注意的是,数组中的元素编号是从0开始的.比如上面我们建的数组,5是0号、8是1号、a是2号.

创建数组:可以用下列格式创建数组

格式一:

var
数组名:Array=new Array(元素1,元素2,……)
格式二: var
数组名:Array=new Array();

数组名[0]=值;

数组名[1]=值;


例:我们上面建的数组,这样写

var myarray:Array=new Array(5,8,a);
或:
var myarray:Array=new Array();

myarray[0]=5;

myarray[1]=8;

myarray[2]="a";

数组元素的引用 创建数组后,就可以引用其元素了,格式为:

数组名称[元素编号];
比如要引用上述数组第一个元素的值就可以这样写:
myarray[0]
可以测试一下下面这段代码:

var myarray:Array=new Array(5,8,a);

var b=myarray[0];

trace(b);
输出应该是5.
数组是对象,即是对象,那么就有它自已的属性和方法,下面我们就来认识一下:

数组的属性:只介绍一个属性, length:这是指组数的元素的数量.如上面的数组,myarray一共有三个元素5,8,a,那么这个数组的length属性为3

例1: var myarray:Array=new Array(5,8,a);

b = myarray.length;

trace(b);

输出结果为3.

For....in循环:在上一课介绍循环语句时,说过for....in循环留到这一课来介绍.这个循环是遍历一个集合的所有对象的循环,比如遍历数组元素.就是说一个一个地方问每一个元素.数组中有几个元素它就循环几次

例2: var myarray:Array=new Array(5,8,"a");

for (var i in myarray){


b = myarray;

trace(b);

}
输出结果为:a

8

5
例3:用for循环和length属性也可以实现遍历数组:

var myarray:Array=new Array(5,8,"a")

for(var i=0;i<myarray.length;i++){


b = myarray;

trace(b);

}

输出结果为:5,8,a
可以看出,这两个循环都是将数组中的循环方问了一遍,只是结果的顺序不同.例2中应用了数组的length属性,这个属性最常用的就是用在for循环中,在以后的课程中会经常用到.

数组的方法:

concat( ):

将参数中指定的元素与数组中的元素连接,并创建新的数组。如果 value 参数指定的是数组,则连接该数组的元素而不是数组本身。
例4: var myarray:Array=new Array(5,8,"a")
myarray1 = myarray.concat("b");

for(var i in myarray1){

c = myarray1;

trace(c);


}
输出为:b

a

8

5
用myarray1 = myarray.concat("b");将b连接到myarray数组中并创建新数组myarray1.
例5: var myarray:Array=new Array(5,8,"a")

myarray1 = myarray.concat("b");

myarray2 = myarray.concat(myarray1);

for(var i in myarray2){

c = myarray1;

trace(c);


}
这时myarray2应该是:myarray2[5,8,a,5,8,a,b],这是用concat()方法将两个数组连接起来了.

join( ): 将数组中的元素转换为字符串、在元素间插入括号中指定的分隔符、连接这些元素然后返回结果字符串。如果括号中没有指定分隔符,那么分隔符将用逗号.
例6: var myarray:Array=new Array(5,8,"a");

c = myarray.join(“-“);

trace(c);
输出为:5-8-a
例7:在括号中不设分隔符则将用逗号作分隔符

var myarray:Array=new Array(5,8,"a");

c = myarray.join( );

trace(c);
输出为:5,8,a

pop():删除数组中最后一个元素,并返回该元素的值。
例7: var myarray:Array=new Array(5,8,"a");

var c = myarray.pop();

trace(“被删的是:” + c);

trace(“被删后的数组:” + myarray);
输出结果是: 被删的是:a
被删后的数组:5,8

push():将一个或多个元素添加到数组的结尾,并返回该数组的新长度。
例8: var myarray:Array=new Array(5,8,"a");

var c = myarray.push(“b”,”c”);

trace(“添加元素后数组的长度是:”+c);

trace(“添加元素后的数组:”+myarray);
输出结果是:
添加元素后数组的长度是:5
添加元素后的数组:5,8,a,b,c

reverse():就地倒转数组。

例9: var myarray:Array=new Array(5,8,"a");

trace(原数组是:+myarray);

myarray.reverse();

trace(被倒转后的数组是:+myarray);
输出结果是: 原数组是:5,8,a
被倒转后的数组是:a,8,5


共2页: 上一页 1 [2] 下一页

文章评论

共有 0位网翼网友发表了评论 查看完整内容