注册 登录
编程论坛 JavaScript论坛

问一个sort()排序问题

astome 发布于 2013-12-03 11:57, 482 次点击
为什么只对字符串有效啊,对数字就没有效果了
3 回复
#2
hugeannex2013-12-03 13:36
都有效!不过不是以你所“认为”的方式排序罢了。
#3
jzldf1802013-12-03 14:40
数字默认是按字符串规则来比较的,可以自己给个排序规则:
-------------------------------------------------
var arr = [1,10,4,5,9];
arr.sort(compare);
function compare(value1,value2){
    return value1 - value2;
}
-- 检测排序结果
alert(arr.join('>'));


[ 本帖最后由 jzldf180 于 2013-12-3 14:41 编辑 ]
#4
hugeannex2013-12-03 17:17
以下是引用jzldf180在2013-12-3 14:40:16的发言:

数字默认是按字符串规则来比较的,可以自己给个排序规则:
-------------------------------------------------
var arr = [1,10,4,5,9];
arr.sort(compare);
function compare(value1,value2){
    return value1 - value2;
}
-- 检测排序结果
alert(arr.join('>'));
嗯,这是正常人想得到的结果。
1