我想按Pts,然后按GD排序此足球联赛表。

var league2=[
  "Team,P,W,D,L,GD,Pts",
  "teamA,6,2,0,2,4,6",
  "teamB,6,1,1,6,2,7",
  "teamC,6,2,1,8,8,7"
  ];


使用此代码:

console.log(league2.sort((a, b) => b[5] - a[5] || b[4] - a[4]));


这是基于我在这里收到的基于该数组稍有不同版本的好建议而得出的:

var league1=[
  ["teamA",6,2,0,2,7],
  ["teamB",6,1,1,6,7],
  ["teamC",6,2,1,8,7]];

console.log(league1.sort((a, b) => b[5] - a[5] || b[4] - a[4]));


不幸的是,这导致未分类的联赛2。

我开始怀疑eague2不再是数组而是字符串列表了吗?如果是这样,是否还有另一种对League2进行排序的方法?

PS我更改League2的原因是要在HTML表格中显示它,但我可能需要回到绘图板...

在此先感谢您的任何建议。

最佳答案

再次将每个元素转换为数组:


var league2=[
  "Team,P,W,D,L,GD,Pts",
  "teamA,6,2,0,2,4,6",
  "teamB,6,1,1,6,2,7",
  "teamC,6,2,1,8,8,7"
  ];

console.log(league2.map(x => x.split(',')).sort((a, b) => b[5] - a[5] || b[4] - a[4]));

10-08 01:39