1.sort:主要对简单数据结构的数组进行排序。默认为按照unicode值进行排序。
比如
var myArray:Array = [42,1,100,56];
myArray.sort();
trace(myArray);
输出结果为:1,100,42,56
2.想要对实现特定的排序可以使用提供的排序类型。
· Array.CASEINSENSITIVE:不区分大小写
· Array.DESCENDING:降序排序
· Array.UNIQUESORT:如果元素都是唯一,不存在重复就进行排序,否则不排序
· Array.RETURNINDEXEDARRAY:将排序后的元素的新顺序返回,但不修改原来的数组
· Array.NUMERIC:按照数字大小排序
如:
var myArray:Array = [42,1,100,56];
myArray.sort(Array.NUMERIC | Array.DESCENDING);
trace(myArray);
输出结果为100,56,42,1
3.可以自定义排序方法。
如
var myArray:Array = [1,100,99,42];
trace(myArray.sort(compare));//compare可以随意,只是个函数名字。
function compare(a,b)//参数名可以随意,但必须是两个参数
{
if(a>=b)
{
return 1;//返回1,第一个元素放到后面
}
else
{
return -1://返回-1,第一个元素放到前面,若返回0则两个元素相等。
}
}
结果:1,42,99,100
4.sortOn:对复杂数据结构的数组排序。
如:
var player1:Object = ["name":"Jack","age":6,"gender":undefined];
var player2:Object = ["name":"Anna","age":23,"gender":"female"];
var player3:Object = ["name":"Paul","age":32,"gender":"male"];
var tournament:Array = [player1,player2,player3];
tournament.sortOn("age",Array.NUMERIC | Array.DESCENDING);
for(var i:uint=0;i<tournament.length;i++)
{
trace(tournament[i].name);
}
输出结果, Paul,Anna,6
5.reverse:将现有顺序逆向