javascript - 按数字顺序对数字数组进行合并和排序 - javascript

标签 javascript arrays sorting

我正在尝试按数字顺序合并和排序 2 个数组。

function merge_arrays(a, b) {
    console.log( (a.concat(b)).sort().join(" ") );
}

这对于数组中的单个数字可以很好地工作,但它不能正确对两位数的数字进行排序。

例如:

a: [2, 3, 7, 8, 8,]

b:[7,8,13]

将输出为:13 2 3 7 7 8 8 8

我错过了什么吗?

最佳答案

引用自MDN :

The default sort order is lexicographic (not numeric).

试试这个:

function merge_arrays(a, b) {
    console.log( (a.concat(b)).sort(function(a, b) { return a - b; }).join(" ") );
}

关于javascript - 按数字顺序对数字数组进行合并和排序 - javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21154046/

相关文章:

python - Quicksort - Python 中的 CLRS 实现

Javascript,将数字数组转换为 double

javascript - 在 click() 上显示特定的 <div>

php 类将值数组插入 oracle DB

sorting - Hoare 的快速排序如何工作,即使在 partition() 之后枢轴的最终位置不是它在排序数组中的位置?

java - 最大堆找到第 k 个最小元素

javascript - 了解 JavaScript 中另一个函数的 ajax 调用结果

javascript - 如何对 ExtJS 或类似的基于 JavaScript 的接口(interface)进行单元测试?

javascript - 基于数组制作DataTables列变量

python - 使用 Numpy 替换任意轴上的值