As3 array sorton方法
出自Geckos wiki
Array 的 sortOn方法蛮实用的,对效率要求不高的排序还是很管用的
var a:Array = [{v:1}, {v:10}, {v:3}, {v:2}, {v:2}, {v:5}];
a.sortOn("v", Array.NUMERIC);
这个是对数组中对象v的属性进行升序排序。 如果你想对一个对象里多个属性排序的话可以(也就是先对v进行排序,然后在先前排序的基础上对f进行排序)
a.sortOn(["v", "f"], Array.NUMERIC);
如果对v是升序,对f是降序可以
a.sortOn(["v", "f"], [Array.NUMERIC, Array.NUMERIC | Array.DESCENDING]);
注意到 Array.NUMERIC | Array.DESCENDING 为啥不直接用Array.DESCENDING,因为它的排序是按照字符串来排的,上面的例子里面有10和1,它在降序的时候会先看第一位谁大,因为都是1就看作是一样大,然后再看第二位,这样来比较的,所以会出现
5 3 2 2 10 1
这样一个现象。所以要在把数字和降序组合在一起才能按照数字的方式来排列。