AS2.0对字符串排序的方法
如果一个字符串Array中,有数字有字母,又要对数字排序可以如下
这里我选用parseInt(),而不用Number()的原因是,Number()对带字母的字符串转换会变为空。
又或者这个字符串已经写死,要对字符串以数字顺序排序 可以如下:
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