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

如何按照子数组长度对二维数组进行降序排序

二维数组按子数组长度降序排序解决方案

完全可以实现该需求,排序逻辑只需要将子数组的长度作为排序权重,指定降序规则即可,排序过程不会修改子数组内部的元素顺序,完全匹配你给出的示例效果。

示例说明

输入的二维数组:

[["1","b","g"],["e","3"],["r","2","9","a"],["2"]]

各子数组的长度分别为3、2、4、1,按长度从大到小排序后,输出结果为:

[["r","2","9","a"],["1","b","g"],["e","3"],["2"]]

常用语言实现示例

  • Python 实现:
original_arr = [["1","b","g"],["e","3"],["r","2","9","a"],["2"]]
# key指定排序依据为子数组长度,reverse=True表示降序
sorted_arr = sorted(original_arr, key=lambda item: len(item), reverse=True)
  • JavaScript 实现:
const originalArr = [["1","b","g"],["e","3"],["r","2","9","a"],["2"]];
// 排序规则:长度大的子数组排在前面
const sortedArr = originalArr.sort((a, b) => b.length - a.length);
  • Java 实现(JDK8+):
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;

public class SortTest {
    public static void main(String[] args) {
        List<List<String>> originalArr = Arrays.asList(
                Arrays.asList("1","b","g"),
                Arrays.asList("e","3"),
                Arrays.asList("r","2","9","a"),
                Arrays.asList("2")
        );
        // 按子数组长度降序排序
        originalArr.sort(Comparator.comparingInt(List::size).reversed());
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 23:54:04