javascript - 对具有字符串键的数组中的对象进行排序
问题描述
我有这个对象数组,我需要按分数降序对“列表”进行排序。
var list =[{ '440684023463804938': { score: 6, bonuscount: 2 },
'533932209300832266': { score: 20, bonuscount: 0 },
'448746017987231756': { score: 9, bonuscount: 0 },
'492585498561216513': { score: 14, bonuscount: 0 } }]
我通常使用 .sort 函数,但这次它给了我 list.sort 不是函数
任何帮助表示赞赏。
解决方案
您可以将对象转换为数组,然后应用常规排序:
const list = [
{
'440684023463804938': {score: 6, bonuscount: 2},
'533932209300832266': {score: 20, bonuscount: 0},
'448746017987231756': {score: 9, bonuscount: 0},
'492585498561216513': {score: 14, bonuscount: 0}
}
];
const result = Object.entries(list[0]).sort((a, b) => b[1].score - a[1].score);
console.log(result);
推荐阅读
- python - 如何模拟在谷歌云函数全局范围内实例化的对象
- php - 为什么通过 VS code php intelephense 扩展在 laravel 应用程序中使用别名定义的值时显示错误未定义?
- android-studio - 如何解决 Android Strudio Preview 上的“Gradle Project Sync Failed”?
- python - 只获得肺部的二值图像
- javascript - 在一行中显示按钮、日期范围选择器和标签,没有空格
- c++ - 使用 Botan 时出现 Seg 错误
- python - 每学期科目的先决条件检查
- linux - linux cat 命令是原子的吗?
- java - 我的单元测试问题 - Junit - mockito - EntityManager - createNativeQuery
- java - 如何在 Java Spring MVC 中发出 403 错误