当前位置: 代码迷 >> Web前端 >> AS2.0对数组进展排序(整理sort的用法)
  详细解决方案

AS2.0对数组进展排序(整理sort的用法)

热度:287   发布时间:2012-10-09 10:21:45.0
AS2.0对数组进行排序(整理sort的用法)
AS2.0对字符串排序的方法
var fruits_array:Array = new Array(137, 658, 404, 1615, 8080);
trace(fruits_array);
fruits_array.sort(Array.NUMERIC);
trace(fruits_array);


如果一个字符串Array中,有数字有字母,又要对数字排序可以如下
var fruits_array:Array = new Array(parseInt("137 df"), parseInt("658 hhh"), parseInt("404  er"), parseInt("1615 er"), parseInt("8080  t"));
trace(fruits_array);
fruits_array.sort(Array.NUMERIC);
trace(fruits_array);

这里我选用parseInt(),而不用Number()的原因是,Number()对带字母的字符串转换会变为空。

又或者这个字符串已经写死,要对字符串以数字顺序排序 可以如下:
var passwords_array:Array = new Array("17:glam", "146:ring", "8825:mag", "965:home", "1128:silly");
function order(a, b):Number {
    var name1:String = a.split(":")[0];
    var name2:String = b.split(":")[0];
    if (parseInt(name1)<parseInt(name2)) {
    	return -1;
    } else if (parseInt(name1)>parseInt(name2)) {
   		 return 1;
    } else {
   		 return 0;
    }
}
trace("排序前:");
trace(passwords_array); //17:glam,146:ring,8825:mag,965:home,1128:silly
passwords_array.sort(order);
trace("排序后:");
trace(passwords_array); //17:glam,146:ring,965:home,1128:silly,8825:mag
  相关解决方案