flash播放器:Flash as入门(5):学习AS数组

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

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

  格式:

var
名:Array= Array(元素1,元素2,……)
格式 2: var
名:Array= Array;
名[0]=值;
名[1]=值;
例:我们上面建,这样写

var my.gif' />:Array= Array(5,8,a);

  或:

var my.gif' />:Array= Array;
my.gif' />[0]=5;
my.gif' />[1]=8;
my.gif' />[2]="a";


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

  名称[元素编号];

  比如要引用上述个元素值就可以这样写:

  my.gif' />[0]

  可以测试下下面这段代码:

var my.gif' />:Array= Array(5,8,a);
var b=my.gif' />[0];
trace(b);


  输出应该是5.

  是对象,即是对象,那么就有它自已属性和思路方法,下面我们就来认识下:

  属性:只介绍个属性, length:这是指组数元素数量.如上面,my.gif' />共有 3个元素5,8,a,那么这个length属性为3

  例1: var my.gif' />:Array= Array(5,8,a);

b = my.gif' />.length;
trace(b);


  输出结果为3.

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

  例2: var my.gif' />:Array= Array(5,8,"a");

for (var i in my.gif' />){
b = my.gif' />;
trace(b);
}


  输出结果为:

  a

  8

  5

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

var my.gif' />:Array= Array(5,8,"a")
for(var i=0;i
b = my.gif' />;
trace(b);
}


  输出结果为:5,8,a

  可以看出,这两个循环都是将循环方问了遍,只是结果顺序区别.例2中应用了length属性,这个属性最常用就是用在for循环中,在以后课程中会经常用到.

  思路方法:

  concat( ):

  将参数中指定元素和元素连接并创建新如果 value 参数指定则连接该元素而不是本身

  例4:

var my.gif' />:Array= Array(5,8,"a")
my.gif' />1 = my.gif' />.concat("b");
for(var i in my.gif' />1){
c = my.gif' />1;
trace(c);
}


  输出为:b

  a

  8

  5

  用my.gif' />1 = my.gif' />.concat("b");将b连接到my.gif' />中并创建新my.gif' />1.

  例5:

var my.gif' />:Array= Array(5,8,"a")
my.gif' />1 = my.gif' />.concat("b");
my.gif' />2 = my.gif' />.concat(my.gif' />1);
for(var i in my.gif' />2){
c = my.gif' />1;
trace(c);
}
这时my.gif' />2应该是:my.gif' />2[5,8,a,5,8,a,b],这是用concat思路方法将两个连接起来了.

  join( ): 将元素转换为串、在元素间插入括号中指定分隔符、连接这些元素然后返回结果如果括号中没有指定分隔符,那么分隔符将用逗号.

  例6:

var my.gif' />:Array= Array(5,8,"a");
c = my.gif' />.join(“-“);
trace(c);


  输出为:5-8-a

  例7:在括号中不设分隔符则将用逗号作分隔符

var my.gif' />:Array= Array(5,8,"a");
c = my.gif' />.join( );
trace(c);
输出为:5,8,a

  pop:删除中最后个元素并返回该元素

  例7:

var my.gif' />:Array= Array(5,8,"a");
var c = my.gif' />.pop;
trace(“被删是:” + c);
trace(“被删后:” + my.gif' />);


  输出结果是: 被删是:a

  被删后:5,8

  push:将个或多个元素添加到结尾并返回该新长度

  例8:

var my.gif' />:Array= Array(5,8,"a");
var c = my.gif' />.push(“b”,”c”);
trace(“添加元素后长度是:”+c);
trace(“添加元素后:”+my.gif' />);


  输出结果是:

  添加元素后长度是:5

  添加元素后:5,8,a,b,c

  reverse:就地倒转

  例9: var my.gif' />:Array= Array(5,8,"a");

  trace(原是:+my.gif' />);

  my.gif' />.reverse;

  trace(被倒转后是:+my.gif' />);

  输出结果是: 原是:5,8,a

  被倒转后是:a,8,5

  sht:删除中第个元素并返回该元素

  参见pop思路方法

  slice(startIndex, endIndex):

  返回由原始中某范围元素构成而不修改原始返回包括 startIndex

  元素以及从其开始到 endIndex

  元素(但不包括该元素)所有元素例10:

  var my.gif' />:Array= Array(1,2,3,4,5);

  var my.gif' />1:Array = my.gif' />.slice(0,3);

  trace(my.gif' />1);输出结果是:1,2,3sort:

  对元素进行排序Flash 根据 Unicode 值排序(ASCII 是 Unicode 个子集)

  默认情况下Array. sort

  按下面列表中介绍说明进行排序:

  * 排序区分大小写(Z

  优先于 a)

  * 按升序排序(a

  优先于 b)

  * 修改该以反映排序顺序;在排序后中不按任何特定顺序连续放置具有相同排序字段多个元素

  * 数值字段按串方式进行排序因此 100 优先于 99 "1" 串值比 "9"

  例11:

var my.gif' />:Array= Array(3,4,1,2,5);
my.gif' />.sort;
trace(my.gif' />);输出为:1,2,3,4,5 对进行了重新排序.
splice(startIndex, [deleteCount], [value]):


  给添加元素以及从中删除元素此思路方法会修改但不制作副本

  参数startIndex:― 个整数它指定插入或删除动作开始处中元素索引您可以指定个负整数来指定相对于结尾位置(例如-1 是最后个元素)

  deleteCount: [可选] ― 个整数它指定要删除元素数量该数量包括 startIndex

  参数中指定元素如果没有为 deleteCount

  参数指定值则该思路方法将删除从 startIndex

  元素到中最后个元素的间所有值如果该参数值为 0则不删除任何元素

  value: [可选] ― 指定要在 startIndex

  参数中指定插入点处插入到

  例12:

var my.gif' />:Array= Array(1,2,3,4,5);
my.gif' />.splice(1);
trace(my.gif' />);


  输出结果为:1.本例在splice思路方法中只用了个参数1,这是指在插入或删除位置,编号从0开始,那么1位置是第2个元素.第 2参数未设置则将删除从第2个元素开始所有元素.第 3个参数未设置则不插入新元素.所以执行后中就只剩下第0号元素了.

  例13:

var my.gif' />:Array= Array(1,2,3,4,5);
my.gif' />.splice(1,2);
trace(my.gif' />);


  输出结果是:1,4,5

  本例用了两个参数,第2个参数是2,就是说将删除2个元素.

  例14:

var my.gif' />:Array= Array(1,2,3,4,5);
my.gif' />.splice(5,0,6);
trace(my.gif' />);
输出结果是:1,2,3,4,5,6

  本例用了 3个参数,第个参数为5,则是在第6个位置上执行操作,第 2个参数是是0,是不删除任何元素.第 3个参数是6,是插入个新元素6.

  unsht:将个或多个元素添加到开头并返回该新长度



  参见push思路方法



Tags:  flashplayer flash播放器

延伸阅读

最新评论

发表评论