我正在创建一个“排行榜”页面作为 Facebook 游戏的外部组件。
基本上,该应用程序通过给定的 JSON 响应文件(“score.json”,其中包含具有三个键的数据对象:名称、团队、分数)向我传递数据,我正在使用以下代码将其解析为 HTML 表:
$(document).ready(function(){
$.getJSON("score.json",
function (data) {
var tr;
for (var i = 0; i < data.length; i++) {
tr = $('<tr/>');
tr.append("<td>" + data[i].User_Name + "</td>");
tr.append("<td>" + data[i].score + "</td>");
tr.append("<td>" + data[i].team + "</td>");
$('table').append(tr);
}
});
});
我需要做什么:
- 根据“分数”值以降序显示这些表格行。
- 添加一个“排名”列,每行插入一个动态生成的数字
我只是 JavaScript 的初学者,所以任何帮助将不胜感激。
编辑:解决。最终代码如下:
$(document).ready(function(){
$.getJSON("score.json",
function (data) {
var tr;
data.sort(function(a,b) { return parseFloat(b.score) - parseFloat(a.score) } );
var rank = 1;
for (var i = 0; i < data.length; i++) {
tr = $('<tr/>');
tr.append("<td>" + rank + "</td>");
tr.append("<td>" + data[i].User_Name + "</td>");
tr.append("<td>" + data[i].score + "</td>");
tr.append("<td>" + data[i].team + "</td>");
$('table').append(tr);
rank = rank +1;
}
});
});