javascript - 在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}} <- 按击杀或排名结果排序
解决方案
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);
推荐阅读
- c# - MoveTo 在本地实例上工作,Azure 中的身份验证错误
- python - 我在 python 中编写了一个动画代码,但它给出了 modulenotfounderror 。没有名为 vector 的模块。能不能解释一下原因。请
- oracle - 通过来自 oracle 数据库的 post 请求发送大量数据
- jquery - 问题:选中 input[type="radio"] 时 jQuery 更改 css(值)
- tensorflow - 直接从缓存对象加载 tensorflow 数据集
- c++ - 为 operator<< 重载调用模板成员函数不匹配
- reactjs - React useState 切换仅切换一次
- java - 尝试在空对象引用上调用虚拟方法 'androidx.lifecycle.LiveData com.example.xxx.viewmodels.CoffeeViewModel.getAllOrders()'
- rust - 有没有一种好方法可以让服务器的客户端直接访问其他客户端而不使用互斥锁?
- google-cloud-automl - 当他们说:“至少 8、1、1 个边界框分别分配给您的训练集、验证集和测试集时,谷歌是什么意思(谷歌云视觉 API)