【问题标题】:Sort array of array on string value in Javascript [duplicate]在Javascript中对字符串值的数组进行排序[重复]
【发布时间】:2026-02-12 10:10:02
【问题描述】:

我想按照字符串的长度对数组的数组进行排序,如下

var arr = [
   [1951, "Mayfer"],
   [1785, "Actinac Capsules"],
   [1007, "Ferri Injection"],
   [1101, "Cetaphil"]
];

var sortedArr = sortOnLengthOfString(arr);

>> sortedArr = [
  [1951, "Mayfer"],
  [1101, "Cetaphil"],
  [1007, "Ferri Injection"],
  [1785, "Actinac Capsules"]
]

有没有最好的 lodash 解决方案?还是纯 Javascript?

我还没有找到重复的问题。有人能找到吗?请注意,我要求的排序是针对数组数组而不是对象数组。

【问题讨论】:

  • 任何地方都没有对象。这些都是数组。
  • 您尝试过任何东西...吗? obj.sort((a, b) => a[1].length - b[1].length)

标签: javascript arrays sorting multidimensional-array lodash


【解决方案1】:

您可以在这种情况下使用Array#sort

var obj = [
   [1951, "Mayfer"],
   [1785, "Actinac Capsules"],
   [1007, "Ferri Injection"],
   [1101, "Cetaphil"]
];

obj.sort(function(a,b){ 
    return a[1].length - b[1].length 
});

console.log(obj);
//[[1951, "Mayfer"],[1101, "Cetaphil"],[1007, "Ferri Injection"],[1785, "Actinac Capsules"]]

【讨论】: