AS3基础教程-第16课-Array数组(2)

2025-11-07 08:29:25

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*/

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢