首页 > 解决方案 > 在js中按值获取字典排名

问题描述

如何在我的字典中生成击杀值的排名?

我已经尝试了所有关于我不发达的知识的方法

for(let player in rank)
{
    dict.push({
        name: rank[player]["name"],
        rank: rank[player]["rank"],
            kills: rank[player]["kills"]
    });
}

这得到:

{'0': {name: 'Paul', rank: 2, kills: 12}}

{'1': {name: 'Mike', rank: 1, kills: 32}}

我想得到

{'1': {name: 'Mike', rank: 1, kills: 32}}

{'0': {name: 'Paul', rank: 2, kills: 12}} <- 按击杀或排名结果排序

标签: javascriptsortingdictionarykey-value

解决方案


Just use sort as following

let dict = [
    {name: 'Paul', rank: 2, kills: 12},
    {name: 'Mike', rank: 1, kills: 32}
];

let sortedByRankDict = dict.sort((a, b) => a.rank - b.rank);

推荐阅读