首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript/jQuery/JSON/localStorage Game,无法对排名表进行数字排序

Javascript/jQuery/JSON/localStorage Game,无法对排名表进行数字排序
EN

Stack Overflow用户
提问于 2018-12-14 09:23:46
回答 1查看 123关注 0票数 0

下面的代码为我完成的游戏创建了排行榜,我唯一不能让它做的事情是自动将分数从高到低排序。我认为我需要将对象放入一个数组中,然后对它们进行排序,只是不确定如何进行。

代码语言:javascript
复制
function createLeaderboard() {
        var html;
        html = "<table>";
        html += "<tbody>";
        html += "<th>Username</th>";
        html += "<th>Rank</th>";
        html += "<tr>";

    for(var val in localStorage){


        if (localStorage.getItem(val) !== null && localStorage.getItem(val) !== localStorage.getItem('UsrLoggedIn')){
            var rankData = $.parseJSON(localStorage.getItem(val));

            //console.log(rankData); This will allow you to see the rank data object in your console

            $(rankData).each(function() {                   
                html += "<td>" + rankData.username + "</td>"; 
                html += "<td>" + rankData.rank + "</td> </tr>"; 
            });
        }

    }
    html += "</tbody>";
    html += "</table>";

    $('#rank').append(html);
EN

回答 1

Stack Overflow用户

发布于 2018-12-14 09:30:50

您可以首先检索rankData,然后对其执行sort操作,最后循环遍历已排序的数组。

代码语言:javascript
复制
function createLeaderboard() {
    var html;
    html = "<table>";
    html += "<tbody>";
    html += "<th>Username</th>";
    html += "<th>Rank</th>";
    html += "<tr>";

    var array = [];
    for (var val in localStorage) {
        if (localStorage.getItem(val) !== null && localStorage.getItem(val) !== localStorage.getItem('UsrLoggedIn')) {
            array.push($.parseJSON(localStorage.getItem(val)));
        }
    }

    array.sort(function (a, b) {
        return a.rank - b.rank;
    });

    array.forEach(function (rankData) {
        html += "<td>" + rankData.username + "</td>";
        html += "<td>" + rankData.rank + "</td> </tr>";
    });

    html += "</tbody>";
    html += "</table>";

    $('#rank').append(html);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53772332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档