我有这个对象数组,我需要按“分数”按分数降序对“列表”进行排序。
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/