Javascript Firebase排行榜排序

Javascript Firebase排行榜排序,javascript,html,firebase,firebase-realtime-database,Javascript,Html,Firebase,Firebase Realtime Database,我正在尝试使用firebase制作排行榜,但我希望它能够根据分数进行排序,例如 200分 50分 30分 我该怎么做 这是我的代码: var database = firebase.database(); var userRef = database.ref('countries'); userRef.orderByChild("points").once('value', function(snapshot) { var tr; var rank = 1;

我正在尝试使用firebase制作排行榜,但我希望它能够根据分数进行排序,例如

  • 200分
  • 50分
  • 30分
  • 我该怎么做

    这是我的代码:

    var database = firebase.database();
    var userRef = database.ref('countries');
    userRef.orderByChild("points").once('value', function(snapshot) {
        var tr;
        var rank = 1;
    
        snapshot.forEach((countrySnapshot) => {
            tr = $('<tr/>');
            tr.append("<td>" + rank + "</td>");
            tr.append("<td>" + countrySnapshot.val().country.toLocaleString() + "</td>");
            tr.append("<td>" + countrySnapshot.val().points.toLocaleString() + "</td>");
            $('table').append(tr);
            rank = rank + 1;
    });
    })
    
    var-database=firebase.database();
    var userRef=database.ref(“国家”);
    userRef.orderByChild(“点”)。一次(“值”,函数(快照){
    var-tr;
    var秩=1;
    snapshot.forEach((countrySnapshot)=>{
    tr=$('');
    tr.append(“+rank+”);
    tr.append(“+countrySnapshot.val().country.toLocaleString()+”);
    tr.append(“+countrySnapshot.val().points.toLocaleString()+”);
    $('table')。追加(tr);
    秩=秩+1;
    });
    })
    
    这就是它现在的样子:

    var database = firebase.database();
    var userRef = database.ref('countries');
    userRef.orderByChild("points").once('value', function(snapshot) {
        var tr;
        var rank = 1;
    
        snapshot.forEach((countrySnapshot) => {
            tr = $('<tr/>');
            tr.append("<td>" + rank + "</td>");
            tr.append("<td>" + countrySnapshot.val().country.toLocaleString() + "</td>");
            tr.append("<td>" + countrySnapshot.val().points.toLocaleString() + "</td>");
            $('table').append(tr);
            rank = rank + 1;
    });
    })
    

    在执行forEach之前反转数组。看着

    接下来是具有数值的子项,按升序排序。如果 多个子项对于指定的值具有相同的数值 子节点,它们按键排序

    var-database=firebase.database();
    var userRef=database.ref(“国家”);
    userRef.orderByChild(“点”)。一次(“值”,函数(快照){
    var-tr;
    var秩=1;
    snapshot.reverse();//添加到此行
    snapshot.forEach((countrySnapshot)=>{
    tr=$('');
    tr.append(“+rank+”);
    tr.append(“+countrySnapshot.val().country.toLocaleString()+”);
    tr.append(“+countrySnapshot.val().points.toLocaleString()+”);
    $('table')。追加(tr);
    秩=秩+1;
    });
    })
    
    当我使用代码“uncaughttypeerror:snapshot.reverse不是一个函数”时,我得到了这个错误。你能得到snapshot的类型吗?console.log(快照类型);它返回“object”