夜鹰教程网-程序员的加油站
 当前位置:文章中心 >> 技术辅导
Flash as入门(5):学习AS数组
夜鹰教程网 来源:www.yyjcw.com 日期:2016-10-27 16:04:06
本例继续讲解AS的基础知识,今天讲解的是AS入门第五课:数组。

本例继续讲解AS的基础知识,今天讲解的是AS入门第五课:数组。

一课:Flash AS入门教程第四课:AS常用语句

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

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

格式一:

var
数组名:Array=new Array(元素1,元素2,……)
格式二: var
数组名:Array=new Array();

数组名[0]=值;

数组名[1]=值;


例:我们上面建的数组,这样写

var myarray:Array=new Array(5,8,a);
或:
var myarray:Array=new Array();

myarray[0]=5;

myarray[1]=8;

myarray[2]="a";

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

数组名称[元素编号];
比如要引用上述数组第一个元素的值就可以这样写:
myarray[0]
可以测试一下下面这段代码:

var myarray:Array=new Array(5,8,a);

var b=myarray[0];

trace(b);
输出应该是5.
数组是对象,即是对象,那么就有它自已的属性和方法,下面我们就来认识一下:

数组的属性:只介绍一个属性, length:这是指组数的元素的数量.如上面的数组,myarray一共有三个元素5,8,a,那么这个数组的length属性为3

例1: var myarray:Array=new Array(5,8,a);

b = myarray.length;

trace(b);

输出结果为3.

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

shift():删除数组中第一个元素,并返回该元素。

参见pop()方法

slice(startIndex, endIndex):

返回由原始数组中某一范围的元素构成的新数组,而不修改原始数组。返回的数组包括 startIndex
元素以及从其开始到 endIndex
元素(但不包括该元素)的所有元素。例10:
var myarray:Array=new Array(1,2,3,4,5);
var myarray1:Array = myarray.slice(0,3);
trace(myarray1);输出结果是:1,2,3sort():

对数组中的元素进行排序。Flash 根据 Unicode 值排序。(ASCII 是 Unicode 的一个子集。)
默认情况下,Array. sort()
按下面的列表中的说明进行排序:

* 排序区分大小写(Z
优先于 a)。
* 按升序排序(a
优先于 b)。
* 修改该数组以反映排序顺序;在排序后的数组中不按任何特定顺序连续放置具有相同排序字段的多个元素。
* 数值字段按字符串方式进行排序,因此 100 优先于 99,因为 "1" 的字符串值比 "9" 的低。

例11: var myarray:Array=new Array(3,4,1,2,5);
myarray.sort();
trace(myarray);输出为:1,2,3,4,5 对数组进行了重新排序.
splice(startIndex, [deleteCount], [value]):

给数组添加元素以及从数组中删除元素。此方法会修改数组但不制作副本。
参数startIndex:― 一个整数,它指定插入或删除动作开始处的数组中元素的索引。您可以指定一个负整数来指定相对于数组结尾的位置(例如,-1 是数组的最后一个元素)。

deleteCount: [可选] ― 一个整数,它指定要删除的元素数量。该数量包括 startIndex
参数中指定的元素。如果没有为 deleteCount
参数指定值,则该方法将删除从 startIndex
元素到数组中最后一个元素之间的所有值。如果该参数的值为 0,则不删除任何元素。

value: [可选] ― 指定要在 startIndex
参数中指定的插入点处插入到数组中的值。

例12:var myarray:Array=new Array(1,2,3,4,5);

myarray.splice(1);

trace(myarray);
输出结果为:1.本例在splice()方法中只用了一个参数1,这是指在插入或删除的位置,数组编号从0开始,那么1的位置是第2个元素.第二参数未设置则将删除从第2个元素开始的所有元素.第三个参数未设置则不插入新元素.所以执行后数组中就只剩下第0号元素了.
例13: var myarray:Array=new Array(1,2,3,4,5);

myarray.splice(1,2);

trace(myarray);
输出结果是:1,4,5
本例用了两个参数,第2个参数是2,就是说将删除2个元素.
例14: var myarray:Array=new Array(1,2,3,4,5);

myarray.splice(5,0,6);

trace(myarray);
输出结果是:1,2,3,4,5,6
本例用了三个参数,第一个参数为5,则是在数组的第6个位置上执行操作,第二个参数是是0,是不删除任何元素.第三个参数是6,是插入一个新元素6.

unshift():将一个或多个元素添加到数组的开头,并返回该数组的新长度
参见push()方法

复制链接 网友评论 收藏本文 关闭此页
上一条: Flash as入门(4):AS常用语句  下一条: Flash as入门(6):文本与字符串
夜鹰教程网成立于2008年,目前已经运营了将近 13 年,发布了大量关于 html5/css3/C#/asp.net/java/python/nodejs/mongodb/sql server/android/javascript/mysql/mvc/easyui/vue/echarts原创教程。 我们一直都在坚持的是:认证负责、一丝不苟、以工匠的精神来打磨每一套教程,让读者感受到作者的用心。我们默默投入的时间,确保每一套教程都是一件作品,而不是呆板的文字和视频! 目前我们推出在线辅导班试运营,模式为一对一辅导,教学工具为QQ。我们的辅导学科包括 java 、android原生开发、webapp开发、商城开发、C#和asp.net开发,winform和物联网开发、web前端开发,但不仅限于此。 普通班针对的是国内学员,例如想打好基础的大学生、想转行的有志青年、想深入学习的程序员、想开发软件的初学者或者业余爱好者等。 就业办针对即将毕业上岗的大四学生,或者打算转行的初级开发工程师。 留学生班针对的是在欧美、加拿大、澳洲、日本、韩国、新加坡等地留学的中国学子,目的是让大家熟练地掌握编程技能,按时完成老师布置的作业,并能顺利地通过考试。 详细咨询QQ:1416759661   夜鹰教程网  基于角色的权限管理系统(c-s/b-s)。
  夜鹰教程网  基于nodejs的聊天室开发视频教程
  夜鹰教程网  Git分布式版本管理视频教程
  夜鹰教程网  MVC+EasyUI视频教程
  夜鹰教程网  在线考试系统视频教程
  夜鹰教程网  MongoDB视频教程。
  夜鹰教程网 Canvas视频教程
  夜鹰教程网 报表开发视频教程
  热点推荐
FLASH加载xml,txt,swf实例代码
Flash,Actionscript,AS延时执行语…
入门Flash CS3 ActionScript 3.0
播放器的制作方法
JavaScript控制Flash播放器的方法…
FLASH变量和作用域[这是一篇比较好…
用FLASH8.0轻松制作简易计算器
FLASH动画禁止右键菜单
FLASH AS教程:响应键盘事件的四种…
最常用的Flash语句(汇总)
Flash制作坦克游戏视频教程
创建FLEX自定义组件(1)
FLASH与ASP通信原理入门
Flash教程:加载外部文本文件的3种…
创建FLEX自定义组件(3)
  最近更新
在线考试系统
常见项目开发
学生公寓管理系统的设计与实现
校园电话查询系统设计与实现
校园机动车停车位申请系统的设计与…
C#支付宝接口集成服务
常见项目开发
常用UML建模工具
FLASH加载xml,txt,swf实例代码
视频教程卡住的解决办法
播放器的制作方法
常见定制系统开发
入门Flash CS3 ActionScript 3.0
flex code
Flex 开发架构渐变

关于我们 | 网站建设 | 技术辅导 | 常见问题 | 联系我们 | 友情链接

夜鹰教程网 版权所有 www.yyjcw.com All rights reserved 备案号:蜀ICP备08011740号3