为什么数组排序在这个例子中不起作用?

时间:2018-02-07 10:37:55

标签: javascript html arrays

我在JS中使用Array Library的sort()函数。但是,我没有得到正确的结果。任何人都可以指出为什么?



<html>
<head></head> 
<body> 
<script>

var a = [5, 17, 29, 48, 64, 21];
var c = a.sort();
alert(c);

</script> 
</body> 
</html> 
&#13;
&#13;
&#13;

为什么5不是在开头,而是在中间的某个地方?有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

默认情况下,sort方法按字母顺序对元素进行排序。要以数字方式排序,只需添加一个处理数字排序的新方法(sortNumber,如下所示) -

function sortNumber(a,b) {
    return a - b;
}

var numArray = [5, 17, 29, 48, 64, 21];
numArray.sort(sortNumber);
alert(numArray.join(","));

参考:How to sort an array of integers correctly

答案 1 :(得分:0)

试试这个,

function sortNumber(a,b) {
    return a - b;
}

var a = [5, 17, 29, 48, 64, 21];
var c = a.sort(sortNumber);