雪原xy 发表于 2018-12-29 16:37:29

数组的常用操作(小练习)

var arrayEx:Array = new Array(1,"学生");//新建一个数组;
arrayEx.push("成绩");//在数组的最后加入一个元素“成绩”
arrayEx.unshift(2,3);//在数组的开头加入两个元素“2,3”
arrayEx.splice(0,3,1,2,3);//把数组的开头三个元素“2,3,1”改成“1,2,3”
var ar:Array = ["合并","一体","成功"];//再建一个新数组;
arrayEx = arrayEx.concat(ar);//把新建的数组合并在原数组的后面;
arrayEx = arrayEx.slice(0,-2);//把从0到倒数第二个元素抽出来并赋值组原数组;
arrayEx.pop();//删除最后一个元素(并返回删除的元素);
arrayEx.shift();//删除第一个元素(并返回删除的元素);
var aa:int = arrayEx.indexOf("成绩");//在原数组中查找"成绩"并把查找的元素的索引值传递给aa;
arrayEx.splice(aa,1,"成绩又修改了");//把"成绩"改成"成绩又修改了";
trace(arrayEx);//输出数组元素;
trace(arrayEx.length);//输出数组长度;

//用比较函数排序;
arrayEx.splice(2,0,1,4,6,5)
trace(arrayEx);//输出数组元素;
trace(arrayEx.sort(arrSort,1));
//定义一个比较函数:如果是数字则按大小降序排列,如果是其他类型则默认排序并排在数字的下方;
function arrSort(A:*,B:*):int{
        if(A is Number&&B is Number){
               
                        if(A>B){return -1;}
                        else {return 1;}
                }
else{
        if(A is Number){return -1;}
        else if(B is Number){return 1;}
        else return 0;
        }               
        }
//回调函数的用法;
//抽取文字;
trace(arrayEx.filter(stringFu));
//定义一个方法,是文字返回true
function stringFu(item:*,index:int,array:Array):Boolean{
        if(item is String) return true;
        else return false;
        }
//把所有的数字都加1;
arrayEx.forEach(addNuFu);
trace(arrayEx);//输出数组元素;
function addNuFu(item:*,index:int,array:Array):void{
        if(item is Number){array++;}
        }

TKCB 发表于 2018-12-29 17:12:38

本帖最后由 TKCB 于 2018-12-29 17:15 编辑

如果你用最新的API和最新的软件,你会发现Array其实还有几个新的方法
insertAt
removeAt

这两个方法是新的Flash Player提供的(FP 19)

但是这两个方法就是 splice这个方法的功能拆分,但是可能效率会更高一些。

雪原xy 发表于 2018-12-29 17:19:52

TKCB 发表于 2018-12-29 17:12
如果你用最新的API和最新的软件,你会发现Array其实还有几个新的方法
insertAt
removeAt


哦,谢谢提醒,等以后研究!!

秋月色 发表于 2019-1-3 12:26:35


很棒,好帖子啊,必须顶一个

Kona 发表于 2020-8-4 00:48:24

好帖子啊,必须顶一个

qin8500 发表于 2020-8-4 20:17:10

数组真是太有用了。

听雨轩 发表于 2020-9-5 11:16:25

欣赏学习
页: [1]
查看完整版本: 数组的常用操作(小练习)

感谢所有支持论坛的朋友:下面展示最新的5位赞助和充值的朋友……更多赞助和充值朋友的信息,请查看:永远的感谢名单

SGlW(66139)、 anghuo(841)、 whdsyes(255)、 longxia(60904)、 囫囵吞澡(58054)

下面展示总排行榜的前3名(T1-T3)和今年排行榜的前3名的朋友(C1-C3)……更多信息,请查看:总排行榜今年排行榜

T1. fhqu1462(969)、 T2. lwlpluto(14232)、 T3. 1367926921(962)  |  C1. anghuo(147)、 C2. fdisker(27945)、 C3. 囫囵吞澡(58054)