11RIA 闪客社区 - 最赞 Animate Flash 论坛

搜索
查看: 3025|回复: 6
上一主题 下一主题

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

[复制链接] TA的其它主题
发表于 2018-12-29 16:37:29 | 显示全部楼层 |阅读模式

【游客模式】——注册会员,加入11RIA 闪客社区吧!一起见证Flash的再次辉煌……

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
[Actionscript3] 纯文本查看 复制代码
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[array.indexOf(item)]++;}
	}

发表于 2018-12-29 17:12:38 | 显示全部楼层
本帖最后由 TKCB 于 2018-12-29 17:15 编辑

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

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

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

使用道具 举报

 楼主| 发表于 2018-12-29 17:19:52 | 显示全部楼层
TKCB 发表于 2018-12-29 17:12
如果你用最新的API和最新的软件,你会发现Array其实还有几个新的方法
insertAt
removeAt

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

使用道具 举报

发表于 2019-1-3 12:26:35 | 显示全部楼层

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

使用道具 举报

发表于 2020-8-4 00:48:24 | 显示全部楼层
好帖子啊,必须顶一个
回复

使用道具 举报

发表于 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)



快速回复 返回顶部 返回列表