You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript如何将二维数组按子数组首个数值进行升序排序

问题解决方法

错误原因

你写的sort比较函数直接对a、b两个子数组做减法运算,JS中数组参与算术运算时会被隐式转换为字符串,无法得到正确的数值比较结果,所以排序没有生效。

正确实现

你需要在比较函数中取两个子数组的第一个元素做数值比较,代码如下:

// 版本1:直接排序,会修改原newArray数组
let sortArray = newArray.sort(function (a, b) {
  return a[0] - b[0]
})

如果不想改动原newArray的顺序,可以先拷贝数组再执行排序:

// 版本2:不修改原数组,先拷贝再排序
let sortArray = [...newArray].sort((a, b) => a[0] - b[0])

执行上述代码后得到的sortArray就是你需要的、按子数组首个数值升序排列的结果。

内容的提问来源于stack exchange,提问作者Matthew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 07:15:03