0
基於其他問題在這裏在stackoverflow,我試圖建立一個函數來查找一個類別的播放器的排名。數據來自json文件。按類別排列json的jQuery函數
我非常接近,但一定是錯的。在控制檯上沒有錯誤。
我的代碼:
var otfljson = {
player1: {
nickname: "Bob",
min: 100
},
player2: {
nickname: "Amy",
min: 200
},
player3: {
nickname: "Grant",
min: 300
},
player4: {
nickname: "Steve",
min: 200
},
player5: {
nickname: "Joe",
min: 500
}
};
$('#result1').html(findrankinjson(otfljson, "player1", "min")); //Wanted: 5
$('#result2').html(findrankinjson(otfljson, "player4", "min")); //Wanted: 3
function findrankinjson(jsonvar, person, rankby) {
var array = [];
for (var key in jsonvar) {
array.push(jsonvar[key]);
}
array.sort(function(a, b){
return b.rankby - a.rankby;
});
for (var i = 0; i < array.length; i++) {
if (i > 0 && array[i].rankby < array[i - 1].rankby) {
array[i].rank = i+1;
}
if (i > 0 && array[i].rankby == array[i - 1].rankby) {
array[i].rank = array[i-1].rank;
}
}
return jsonvar[person].rank;
}
函數的結果是 「不確定」。你可以幫我嗎?謝謝
在'返回b.rankby - a.rankby;'rankby是財產,而不是分鐘的名字。試着用'return b [rankby] - a [rankby];'。對於所有以下訪問此屬性應該是相同的。 – Kaddath