编程论坛
注册
登录
编程论坛
→
JavaScript论坛
问一个sort()排序问题
astome
发布于 2013-12-03 11:57, 482 次点击
为什么只对字符串有效啊,对数字就没有效果了
3 回复
#2
hugeannex
2013-12-03 13:36
都有效!不过不是以你所“认为”的方式排序罢了。
#3
jzldf180
2013-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
hugeannex
2013-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