|
Flash AS教程:分类说明Flash中数组的用法(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中
|