JavaScript js。对多维分数数组进行排序以对玩家名称进行排序

时间:2012-04-09 03:45:16

标签: javascript jquery sorting multidimensional-array

我理解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()中正确地命名玩家名称,例如蒂姆,鲍勃,琼。我不一定要找人直接发布答案,但是朝正确方向稍微暗示不会受到伤害!

此外,使用jQuery有更好的方法(即更干净,更简单,有什么用)吗?我知道这并不特别重要,但我只是想知道它在jQuery中会是什么样子。

感谢您的阅读。

1 个答案:

答案 0 :(得分: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];
}