是否有一种方法可以根据其中一个键的值对对象内的对象进行排序



在我的项目中,我返回了一个json对象,如下所示:

'18463685': {
name: 'nidoranm',
owner: '756135959145218128',
level: 32,
hpiv: 17,
atkiv: 21,
defiv: 16,
spatkiv: 6,
spdefiv: 10,
speediv: 21,
shiny: 'no',
gender: 'male',
totaliv: 91,
uid: 18463685
},
'32075680': {
name: 'golett',
owner: '756135959145218128',
level: 40,
hpiv: 18,
atkiv: 23,
defiv: 7,
spatkiv: 14,
spdefiv: 12,
speediv: 11,
shiny: 'no',
gender: 'unknown',
totaliv: 85,
uid: 32075680
},
'35339838': {
name: 'exeggcute',
owner: '756135959145218128',
level: 20,
hpiv: 13,
atkiv: 13,
defiv: 18,
spatkiv: 11,
spdefiv: 29,
speediv: 5,
shiny: 'no',
gender: 'female',
totaliv: 89,
uid: 35339838
},
'35339838': {
name: 'exeggcute',
owner: '756135959145218128',
level: 20,
hpiv: 13,
atkiv: 13,
defiv: 18,
spatkiv: 11,
spdefiv: 29,
speediv: 5,
shiny: 'no',
gender: 'female',
totaliv: 89,
uid: 35339838
}
}

父对象中的每个子对象都共享具有不同值的相同键,是否有一种方法可以根据其totalliv之类的东西对对象进行排序,并返回另一个对象,但子对象根据值(降序)排序

我的工作空间是nodejs和我使用javascript:)

您可以使用sort函数,然后使用每个对象的属性

const sorted = Object.keys(obj).sort((a, b) => {
return obj[a].totaliv - obj[b].totaliv;
});

获取对象

的所有键。
Object.keys(obj)

在数组上调用sort函数

.sort((a, b) =>

比较对象并按.totaliv

排序
return obj[a].totaliv - obj[b].totaliv;

类文档https://developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/array/sort

最新更新