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

JavaScript中如何对嵌套整数数组按指定规则排序?

嵌套数组的自定义排序方案

嘿,我来帮你搞定这个嵌套数组的排序问题!先拆解一下咱们需要的排序规则,从示例输入和输出对比就能看出来:

  • 首先按照每个子数组的第一个元素降序排列(数值大的子数组排在前面)
  • 当两个子数组的第一个元素相等时,按照第二个元素升序排列(数值小的子数组排在前面)

具体实现代码

在JavaScript里,我们可以直接利用数组的sort()方法,传入自定义的比较函数来实现这个逻辑:

var array = [[123, 3], [745, 4], [643, 5], [643, 2]];

array.sort(function(a, b) {
    // 先比较第一个元素,降序
    if (a[0] !== b[0]) {
        return b[0] - a[0];
    }
    // 第一个元素相等时,比较第二个元素,升序
    return a[1] - b[1];
});

console.log(array); // 输出: [[745, 4], [643, 2], [643, 5], [123, 3]]

代码解释

  • sort()方法的比较函数接收两个参数a和b,分别代表数组中的两个子数组
  • 首先判断两个子数组的第一个元素是否相等:
    • 如果不相等,返回b[0] - a[0],这样数值大的第一个元素会排在前面(降序)
    • 如果相等,返回a[1] - b[1],这样数值小的第二个元素会排在前面(升序)

这样处理后,就能得到你想要的排序结果啦!

内容的提问来源于stack exchange,提问作者Inês

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:31:24