3

Facebook ゲームの外部コンポーネントとして「リーダーボード」ページを作成しています。

基本的に、アプリは特定の JSON 応答ファイル (Name、Team、Score の 3 つのキーを持つデータ オブジェクトを含む「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;
        }
    });
});
4

1 に答える 1