JavaScript 排序数字未按预期工作

标签 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/

相关文章:

javascript - 什么时候应该使用 call() 与直接调用函数?

javascript - 在调整大小时操作 jquery 菜单以实现响应式布局

javascript - js :scope of this inside an object on keypress event

javascript - jQuery 组合函数

javascript - 如何更改谷歌饼图中的文本 'no data'

重写动态url后的Javascript文件路径

javascript - 默认导出后的分号

javascript - 如何在单击菜单项时关闭 Twitter Bootstrap 3 折叠导航栏

javascript - 在java中将DataURL图像转换为图像文件

javascript - angular2 中的老虎机旋转效果