javascript - 对数组中具有字符串键的对象进行排序

标签 javascript node.js

我有这个对象数组,我需要按“分数”按分数降序对“列表”进行排序。

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);

关于javascript - 对数组中具有字符串键的对象进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54369415/

相关文章:

javascript - 如何在 Angular JS 中合并两个相同的对象?

javascript - 在 .js 文件中调用 URL 参数

javascript - 如何在 Laravel 应用程序上的 axios 中配置 header

javascript - 日期对象javascript

javascript - 从 JavaScript 函数访问事件对象

Android 连接 Node.js REST 流意外结束

html - 如何使用 jade.pug 创建多级菜单

node.js - 如何为基于 PhoneGap 的 webOS 应用程序创建 JavaScript 服务?

node.js - 使用 Node.js 和 SPA 进行 SAML2.0 身份验证

node.js - mongoose findByIdAndUpdate 仅更新文档中的一个字段