AS3基础教程-第16课-Array数组(2)
1、concat()方法:
<1>书写格式:
concat(参数1,参数2,参数3...参数n)
<2>介绍:将参数(就是括号内部的)中指定的参数值与原数组中的元素连接,并创建新的数组。如果参数指定的是数组,则是连接该数组的元素而不是数组本身。<3>举例1:var myarray:Array=new Array(5,8,"a");
//将b连接到myarray数组中并创建新数组myarray1:
var myarray1 = myarray.concat("b");trace(myarray); //输出5,8,a 看来concat不会改变原数组的内容
<4>举例2:
var myarray:Array=new Array(5,8,"a");
var myarray1:Array=[21,3,"as"];
var myarray2 = myarray.concat(myarray1);
//这是用concat()方法将两个数组连接起来了
trace(myarray2);//输出5,8,a,21,3,as
trace(myarray2.length);
/*输出6 也就是说myarray2这个数组内共有六个元素(concat没有将myarray1当做一个对象加入到myarray后面,而是将myarray1内的三个元素分别逐一加入到myarray后面)*/
<5>特别说明:(1)例1告诉我们concat不会改变原数组的内容,而是生成一个新的数组。其返回值就是这个新生成的数组(2)例2告诉我们,如果concat内的参数指定的是数组,则是在原数组的基础上连接参数内数组的每一个元素,而不是直接将参数数组连接到原数组上。(囧,这句话写完后我自己都觉得拗口,大家对照着上面的例子来理解吧)
2、join()方法:
<1>书写格式:
join(参数)
<2>介绍:
在数组的各个元素间插入括号中指定的参数(一般称之为分隔符),用这个分隔符来连接数组的每一个元素,最后返回结果为字符串。如果括号中没有指定分隔符,那么分隔符将用逗号。
<3>举例例1:var myarray:Array=new Array(5,8,"a"); var c = myarray.join("-"); trace(c); //输出为:5-8-a 注意,c的类型是字符串例2:var myarray:Array=new Array(5,8,"a"); var c = myarray.join(); var d = myarray.join("");trace(c); //输出为:5,8,a 注意:在括号中不设分隔符则将用逗号作分隔符trace(d); //输出为:58a 啊哈,竟然没有任何的分隔符了,是不是很奇妙捏?
3、shift() 方法:
<1>书写格式:
shift()
<2>介绍:
删除数组中第一个元素,并返回该元素。shift() 方法没有参数。<3>举例:
var myarray:Array=new Array(5,8,"a"); var c = myarray.shift();
//注意,shift方法的返回值不是数组,而是被删除的元素trace("被删的是:" + c); trace("被删后的数组:" + myarray);
//注意,shift方法会影响原数组,本来myarray内有三个元素的,经过shift后,只有两个元素了/*输出结果是: 被删的是:5被删后的数组:8,a */
4、pop() 方法:
删除数组中最后一个元素,并返回该元素的值。使用说明请参见shift()方法,两者的特性一模一样
5、push()方法:
<1>书写格式:
push(参数1,参数2...参数n)
<2>介绍:
将一个或多个元素添加到数组的结尾,并返回该数组的新长度。 push()方法会影响原数组。
<3>举例:
var myarray:Array=new Array(5,8,"a"); var c = myarray.push("b","c"); //返回值是新数组的长度,而不是新的数组trace("添加元素后数组的长度是:"+c); trace("添加元素后的数组:"+myarray); //原数组改变了/*输出结果是: 添加元素后数组的长度是:5 添加元素后的数组:5,8,a,b,c */
6、unshift(参数1,参数2...参数n)
将一个或多个元素添加到数组的开头,并返回该数组的新长度 使用说明请参见push()方法
7、reverse() 方法:
<1>书写格式:
reverse()
<2>介绍:
就地倒转数组。(该方法内没有参数)<3>举例:
var myarray:Array=new Array(5,8,"a"); trace("原数组是:"+myarray); myarray.reverse(); trace("被倒转后的数组是:"+myarray); //原数组被修改了/*输出结果是: 原数组是:5,8,a 被倒转后的数组是:a,8,5*/