站内搜索
广告
Flash AS教程:分类说明Flash中数组的用法
作者:    来源:    点击:    日期:2007-8-29 16:04:45   

★关于数组的详细介绍,这里就省略了,这里主要通过对一个数组的操作来分类说明数组的用法。首先在时间轴写如下代码:

var shuzu = ["i", "love", "FLASH"];

然后分类操作:

●添加元素:

→直接添加:可以直接通过数组下标添加新数组,中间添加空元素。

shuzu[4]="!"; 
trace(shuzu);// i,love,flash,,!

→用length属性添加:增加length长度可以增加空元素。

shuzu.length=5; 
trace(shuzu);// i,love,flash,,,

→push()方法:向数组末尾添加一个或多个新元素,并返回数组长度。

shuzu.push("!","?");
trace(shuzu);  // i,love,flash,!,?
trace(shuzu.push());  //5

它还可以用来嵌套数组,把上面的代码换成下面的样子:

shuzu2=["!","?"];
shuzu.push(shuzu2);
trace(shuzu);  // i,love,flash,!,?
trace(shuzu.push());  // 4

(因为这次“!”和“?”是做为一个嵌套数组作为shuzu的元素的,所以这里是4不是5。

→concat()方法:也是向数组末尾添加一个或多个元素,但它并不修改原数组,而是返回一个新数组。

var shuzu2=shuzu.concat("?");
trace(shuzu);  //i,love,flash
trace(shuzu2);  /i,love,flash,?

它也可以用来合并两个数组,但不是嵌套,而是把另一个数组的每个元素作为但个元素添加进来。

var shuzu = ["i", "love", "flash"];
shuzu2=["!","?"];
shuzu3=shuzu.concat(shuzu2);
trace(shuzu3);  // i,love,flash,!,?
trace(shuzu3.length);   //5 (注意,这次是5,而不是4了)

→unshift()方法:向数组开头添加一个或多个新元素,并返回数组长度。

shuzu.unshift("!","?");
trace(shuzu);  // !,?,i,love,flash
trace(shuzu.unshift());  //5

→splice()方法:用来添加或删除数组元素。语法:shuzu.splice(kaishi,shanchushu,t1,t2……tn)其中,kaishi是一个数字,表示要删除或添加元素的开始位置;shanchushu也是一个数字,表示要删除的元素数量,如果省略,将删除kaishi及其后的所有元素,如果为0就不删除任何元素;t1,t2……tn表示要添加到kaishi之前的元素。此方法返回所删除的元素构成的数组。

shuzu.splice(1,1,"!","?");
trace(shuzu);  // i,!,?,flsh
trace(shuzu.splice(1,2));  //因为第一句代码已经把数组修改成["i","!","?","flash"],所以这里输出!,?

●删除元素:

→delete操作符:delete操作符主要用来彻底删除命名数组元素,但对于编号数组,它只能将数组的元素设置为undefined,而不会彻底删除。它的语法为:delete shuzu[bianhao],bianhao为要设置成undefined的元素下标。

delete shuzu[1];
trace(shuzu);  // i,undefined,flash
trace(shuzu.length);  //依旧为3,而不是2

→用length属性删除:减小length长度可以从数组末尾删除元素。

shuzu.length=2;
trace(shuzu);  //i,love

→pop()方法:删除数组最后一个元素。并返回它所删除的元素值。

var shanchu=shuzu.pop();  //执行方法,并将返回值储存在shanchu里
trace(shuzu);  //i,love
trace(shanchu);  //flash

Flash AS教程:分类说明Flash中数组的用法 评论