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