3

我非常了解 JS .sort() 函数,并且我对多维数组有一个松散的掌握,但我有点卡住了。这是我所拥有的:

var player1 = ["bob", 20];
var player2 = ["jon", 40];
var player3 = ["tim", 10];
var scores = [player1[1], player2[1], player3[1]];

scores.sort(sortfunc);

function sortfunc(a,b){
  return a - b;
}

alert(scores);

显然,这对分数进行了正确排序,但我想要的是根据他们的分数在 alert() 中适当地对玩家姓名进行排序,例如 tim、bob、jon。我不一定要找人直接发布答案,但是在正确的方向上一点提示不会有什么坏处!

此外,是否有更好的(即更清洁、更简单,你有什么)用 jQuery 来做这件事?我知道这并不重要,但我只是想知道它在 jQuery 中会是什么样子。

感谢您的阅读。

4

1 回答 1

4

传入整个数组scores,您的 sortFunc 提取第一个元素:

http://jsfiddle.net/PS2wS/

var player1 = ["bob", 20];
var player2 = ["jon", 40];
var player3 = ["tim", 10];
var scores = [player1, player2, player3];

scores.sort(sortfunc);

function sortfunc(a,b){
  return a[1] - b[1];
}
于 2012-04-09T03:50:26.210 回答