在数组最后一项添加一个或者多个元素:push() var aa:Array= [1,2,3]; aa.push(4,5,6) trace(aa)//输出1,2,3,4,5,6
在数组第一项后添加一个或者多个元素:unshift() var aa:Array =[1,2,3]; aa.unshift(4,5,6); trace(aa)//输出4,5,6,1,2,3
删除数组中的最后一个元素:pop() varaa:Array = [1,2,3]; aa.pop(); trace(aa)//输出1,2
删除数组中第一个元素:shift() varaa:Array = [1,2,3]; aa.shift(); trace(aa)//输出2,3 trace(aa[0])//输出2,注意第一个元素已经变为0
返回由原始数组中某一范围的元素构成的新数组,而不修改原始数组。返回的数组包括
startIndex
元素以及从其开始到 endIndex
元素(但不包括该元素)的所有元素。如果您没有传递任何参数,则创建原始数组的一个副本:slice()var aa:Array = newArray("a", "b", "c", "d", "e", "f"); var bb:Array =aa.slice(1,3);trace(aa); // a,b,c,d,e,ftrace(bb); // b,c 下面是调用
slice()
方法(对元素 2 (c
)),从而得到一个数组,其中包含元素[c,d,e,f]
。 varaa:Array = new Array("a", "b", "c", "d", "e", "f"); var bb:Array =aa.slice(2);trace(aa); // a,b,c,d,e,f trace(bb); //c,d,e,f 调用
slice()
方法(对倒数第二个元素 (e
)),从而得到一个数组,其中包含元素[c,d,e,f]
。 varaa:Array = new Array("a", "b", "c", "d", "e", "f"); var bb:Array =aa.slice(-2);trace(aa); // a,b,c,d,e,f trace(bb); // e,f
给数组添加元素以及从数组中删除元素。此方法会修改数组但不制作副本:splice()var aa:Array = newArray("spinach","green pepper","cilantro","onion","avocado"); var bb:Array =aa.splice(2, 2); trace(aa); //spinach,green pepper,avocado trace(bb); // cilantro,onion
aa.splice(1, 0,bb); trace(aa); //spinach,cilantro,onion,green pepper,avocado
反转数组顺序:reverse() varaa:Array = [1,2,3]; aa.reverse(); trace(aa);//输出3,2,1
将数组中的元素转换为字符串、在元素间插入指定的分隔符、连接这些元素然后返回结果字符串:join() varaa:Array = new Array("one", "two", "three"); var bb:String =aa.join(" _ "); trace(aa); //one,two,three trace(bb); // one _ two_ three
使用全等运算符 (
===
)搜索数组中的项,并返回项的索引位置:indexOf() varaa:Array = new Array(123,45,6789); aa.push("123-45-6789");//向数组aa添加123-45-6789 aa.push("987-65-4321");//向数组aa添加987-65-4321 var bb:int =aa.indexOf("123");//在数组aa中搜索字符串123 trace(bb); // -1数组中没有字符串123,所以输出-1 var cc:int =aa.indexOf(123); trace(cc); // 0数组中第一项为int型的123,所以会输出第一项的索引0搜索数组中的项(从最后一项开始向前搜索),并使用全等运算符(
===
) 返回匹配项的索引位置:lashIndexOf() varaa:Array = new Array(123,45,6789,123,984,323,123,32); var bb:int =aa.indexOf(123); trace(bb); // 0 var cc:int =aa.lastIndexOf(123); trace(cc); // 6输出的是从最后一项开始查询到的123,但索引值是6,因此输出了6.但我们看到数组中有3个123,因此,如果我们想都输出的话,要怎么办呢?我们用下面的循环遍历来解决for(var i:int;i<aa.length; i++){if(aa[i]==123){trace(i)//输出0 3 6} }对数组中的元素进行排序: sort() varaa:Array = [7,3,32,64,96,13,42]; aa.sort(); trace(aa);//输出13,3,32,42,64,7,96sort()方法排列方法如下[此数组满足了第四条方法]:var aa:Array =[7,3,32,64,96,13,42]; aa.sort(Array.NUMERIC); trace(aa);//输出3,7,13,32,42,64,96 上面的输出,同时解决了取出数组中的最大值和最小值了。 trace(aa[0])//输出最小值3 trace(aa[aa.length-1])//输出最大值96
根据数组中的一个或多个字段对数组中的元素进行排序:sortOn()var records:Array = newArray(); records.push({name1:"john", city:"omaha", zip:68144});records.push({name1:"john",city:"kansas city", zip:72345});records.push({name1:"bob",city:"omaha", zip:94010});trace(records);
for(vari:uint = 0; i < records.length; i++) {trace(records[i].name1 + ", " +records[i].city); } //输出: //john, omaha //john, kansas city // bob,omaha
trace("records.sortOn('name','city');");records.sortOn(["name","city"]); for(varj:uint = 0; j < records.length; j++) {trace(records[j].name1 + ", " + records[j].city); } //Results: // bob,omaha //john, kansas city //john, omaha
trace("records.sortOn('city','name1');");records.sortOn(["city","name1"]); for(vark:uint = 0; k < records.length; k++) {trace(records[k].name1 + ", " +records[k].city); } //Results: //john, kansas city // bob,omaha //john, omaha 随机输出数组中的一项 varaa:Array = ["a","b","c","d","e","f"]; var i:int =Math.floor(Math.random()*aa.length) trace(aa[i])