我理解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中会是什么样子。
感谢您的阅读。
答案 0 :(得分:4)
传入scores
中的整个数组,sortFunc提取第一个元素:
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];
}