如何按子阵列中的第一项排序数组

sis*_*nts 6 javascript arrays sorting

我有一个带有子数组的数组,并希望按数组排序并按子数组中的第一项进行降序.所以例如,我希望采用以下数组"

array = [[2,text],[5,text],[1,text]]
Run Code Online (Sandbox Code Playgroud)

并将其分类

array = [[5,text],[2,text],[1,text]]
Run Code Online (Sandbox Code Playgroud)

有没有简单的功能可以使用?谢谢!

Hil*_*lmi 10

array = [[2,text],[5,text],[1,text]];
array.sort(function(a,b){return a[0] < b[0]})
Run Code Online (Sandbox Code Playgroud)

  • 不起作用。正确答案如下,用“-”代替“&lt;”! (3认同)
  • @xem 取决于浏览器。FF 接受真/假和 +/-。间谍软件(Chrome 及其衍生产品)和 Safari/Webkit,仅接受 +/- (2认同)

Nin*_*ete 7

array = [[2,text],[5,text],[1,text]];
array.sort(function(a,b){return a[0] - b[0]})
Run Code Online (Sandbox Code Playgroud)


如果函数返回,则排序函数的工作

  • 小于零,在 b 之前对 a 进行排序
  • 大于零,将 b 排在 a 之前
  • 零,保持 a 和 b 彼此不变

来源的附加信息。

  • 您可以将其缩短为“array.sort((a,b) =&gt; a[0] - b[0])” (2认同)