从Javascript中的二维数组返回字符串

从Javascript中的二维数组返回字符串,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,我有一个二维数组: var beatlesComposers = [ ['George', 22 ], ['John', 71 ], ['Paul', 71 ], ['Ringo', 2 ] ]; 第一个元素是作曲家的名字,第二个元素代表作曲家创作的歌曲数量 如何返回最后写入的歌曲数最多的作曲家的姓名(在本例中为'Paul'和71首)?您可以使用reduce查看每个数组的第二个元素并找到最高的。在比较中使用=而不是,使最新元素在平局时获胜 var beatlesComposer

我有一个二维数组:

var beatlesComposers = [
  ['George', 22 ],
  ['John', 71 ],
  ['Paul', 71 ],
  ['Ringo', 2 ]
];
第一个元素是作曲家的名字,第二个元素代表作曲家创作的歌曲数量


如何返回最后写入的歌曲数最多的作曲家的姓名(在本例中为'Paul'和71首)?

您可以使用
reduce
查看每个数组的第二个元素并找到最高的。在比较中使用
=
而不是
,使最新元素在平局时获胜

var beatlesComposers = [['George', 22 ],['John', 71 ],['Paul', 71 ],['Ringo', 2 ]];

var mostWritten = beatlesComposers.reduce(function(prev, curr){
  return curr[1] >= prev[1] ? curr : prev;
});

您可以使用
reduce
查看每个数组的第二个元素并找到最高值。在比较中使用
=
而不是
,使最新元素在平局时获胜

var beatlesComposers = [['George', 22 ],['John', 71 ],['Paul', 71 ],['Ringo', 2 ]];

var mostWritten = beatlesComposers.reduce(function(prev, curr){
  return curr[1] >= prev[1] ? curr : prev;
});

您始终可以执行基本的数组排序:

var beatlesComposers = [['George', 22 ],['John', 71 ],['Paul', 71 ],['Ringo', 2 ]];

beatlesComposers.sort(function(artist1,artist2){
  return artist2[1]-artist1[1]
});

beatlesComposers[0]; //This is now ['John', 71]

现在,“披头士作曲家”中的第一个元素将是创作歌曲最多的艺术家。

您可以随时进行基本的数组排序:

var beatlesComposers = [['George', 22 ],['John', 71 ],['Paul', 71 ],['Ringo', 2 ]];

beatlesComposers.sort(function(artist1,artist2){
  return artist2[1]-artist1[1]
});

beatlesComposers[0]; //This is now ['John', 71]

现在,“披头士作曲家”中的第一个元素将是创作歌曲最多的艺术家。

如果你发布了你尝试过的代码,我们可以帮助你确定为什么它没有按你想要的方式工作。“在这个例子中,保罗与71”约翰怎么样?他也有71。这看起来像是家庭作业。如果你发布了你尝试过的代码,我们可以帮助你确定为什么它没有按你想要的方式工作。“在这个例子中,保罗和71”约翰呢?他还有71个。这看起来像是家庭作业。