<分区>
我们正在浏览 Array.prototype.sort()
MDN 文档,我们在其中看到了一个示例:
var array1 = [1, 2,3,4,5,6,7,8,9,10];
array1.sort();
console.log(array1);
所以预期的输出是
[1, 2, 3 , 4, 5, 6, 7, 8, 9, 10]
但是我们得到了这个
[1, 10, 2, 3, 4, 5, 6, 7, 8, 9]
为什么它不像我们预期的那样排序?
标签 javascript
<分区>
我们正在浏览 Array.prototype.sort()
MDN 文档,我们在其中看到了一个示例:
var array1 = [1, 2,3,4,5,6,7,8,9,10];
array1.sort();
console.log(array1);
所以预期的输出是
[1, 2, 3 , 4, 5, 6, 7, 8, 9, 10]
但是我们得到了这个
[1, 10, 2, 3, 4, 5, 6, 7, 8, 9]
为什么它不像我们预期的那样排序?
最佳答案
您需要使用排序功能。默认情况下,排序使用字母排序而不是数字排序。
array1.sort(function (a,b) {
return a - b; // Ascending
});
array1.sort(function (a,b) {
return b - a; // Descending
});
关于JavaScript 排序数字未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49229846/