Flash as入门(5):学习AS数组(2)

http://www.itjxue.com  2015-07-17 23:39  来源:未知  点击次数: 

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

(责任编辑:IT教学网)

更多

推荐Flash actionscript文章