打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
AS教程:分类说明Flash中数组的用法

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

 

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

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

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

var shanchu=shuzu.shift();   //执行方法,并将返回值储存在shanchu里

trace(shuzu);   //love,flash

trace(shanchu);   //i

→splice()方法:前面已经讲过,这里再举一个例子。

shuzu.splice(1); //删除1及以后所有的元素

trace(shuzu);   //i

●数组操作工具:

→reverse()方法:颠倒数组中的排序。

shuzu.reverse();

trace(shuzu);   //flash,love,i

→sort()方法:此方法通过调用自定义函数来自定义排序规则。

如果没有自定义函数,直接调用此方法,则它将把数组中元素暂时转换成串,并按照ASCII(Unicode)中的值来进行排序。

shuzu.push("4","1","!","Flash"); //先向数组末尾添加一些元素

shuzu.sort(); //!,1,4,Flash,flash,i,love

如果想按照自定义的规则来对数组排序,就必须先自定义一个排序函数,然后把这个函数作为参数传递给sort方法。下面就写一个简单的比较函数:这个函数需要两个参数a和b(注意a在前,b在后),并返回三值:如果返回-1,数组就按照函数参数a,b的顺序排序;如果返回0,数组就保持原来的位置;如果返回1,数组就按照b,a的顺序排序,也就是倒序!看下面的代码:

shuzu.push("4","1","!","Flash"); //先向数组末尾添加一些元素

function paixu(a,b){     //定义倒序函数

   if(a〈b){

     return 1;   //如果数组中的元素a〈b,就倒序

   }else if(a>b){

     return -1;   //如果数组中的元素a>b,就保持原来的顺序

   }else{

     return 0;   //如果两个元素相等,也保持原序

   }

}

shuzu.sort(paixu);

trace(shuzu);   //love,i,flash,Flash,4,1,!

→slice()方法:获取元素,并组成一个新数组。

它的语法为:shuzu.slice(kaishi,jieshu),kaishi为要获取的第一个元素的下标;jieshu为指定要获取元素中,最后一个元素后面的元素下标,如果省略,就默认为数组长度。

var xinshuzu1=shuzu.slice(1,3);

trace(xinshuzu1);   //love,flash

trace(shuzu);   //原数组并无改动,依旧为i,love,flash

var xinshuzu2=shuzu.slice(0);

trace(xinshuzu2);   //i,love,flash

trace(shuzu);   //i,love,flash

→join()方法:它会将数组的每一个元素先转换成串,空元素被转换成空串。然后,用一个“定界符”把各个小串连接成一个大串,并返回此结果。注意,它并不修改原数组。它的语法为shuzu.join(dingjiefu),其中dingjiefu为定界符。

shuzu2=[1,2,3];   //定义一个新数组

shuzu.push(shuzu2);   //将新数组嵌套到shuzu中

var fanhuichuan=shuzu.join("|");   //对shuzu调用join方法,并把返回的串赋给变量fanhuichuan

trace(fanhuichuan);   //i|love|flash|1,2,3 (可见,此方法对嵌套数组无效)

trace(shuzu);   //i,love,flash

→toString()方法:返回一个转换为串的数组元素列表,中间用逗号分隔。此方法可以隐式的应用,只要把数组用在串语境中就行,比如:

trace(shuzu)!

var fanhuichuan=shuzu.toString();   //调用toString方法,并把返回串储存在变量fanhuichuan中

trace(fanhuichuan);   //i,love,flash (此为返回的串值)

trace(shuzu);   //i,love,flash {其实,trace(shuzu)就相当于trace

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
flash+xml教程(初级数据调用教程)
as3 Array(数组)的操作
AS入门教程第五课-数组原创][本文已收录教程库] - Flash互助课堂 - 中国教程网...
Flash AS 实例进阶
C# 数组 总结
R语言笔记丨矩阵、数组介绍
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服