【发布时间】:2021-11-06 00:54:27
【问题描述】:
我正在尝试对不和谐机器人进行排序以显示前 3 名成员。但是我不断收到错误:
JavaScript 错误:未捕获的类型错误:guildStats.slice
这是我尝试过的:
var guildStats = {
'1234567': {
xp: 95,
level: 0,
last_message: 1631181685724,
invited: {},
invited_by: 0
},
'0987654': {
xp: 13,
level: 0,
last_message: 1631181527799,
invited: {},
invited_by: 0
},
'243562345': {
xp: 18,
level: 0,
last_message: 1631181537020,
invited: {},
invited_by: 0
},
'76533465': {
xp: 14,
level: 0,
last_message: 1631181536875,
invited: {},
invited_by: 0
},
'34667634567': {
xp: 8,
level: 0,
last_message: 1631181659142,
invited: {},
invited_by: 0
},
'346534': {
xp: 98,
level: 0,
last_message: 1631181638743,
invited: {},
invited_by: 0
},
'34343677677886': {
xp: -63,
level: 0,
last_message: 1631181584314,
invited: {},
invited_by: 0
},
'987654345676543': {
xp: 20,
level: 0,
last_message: 1631181589153,
invited: {},
invited_by: 0
},
'75634576786588': {
xp: -140,
level: 0,
last_message: 1631181593304,
invited: {},
invited_by: 0
},
'34343434556566': {
xp: 43,
level: 0,
last_message: 1631181663340,
invited: {},
invited_by: 0
}
};
var byXP = guildStats.slice(0);
byXP.sort(function(a,b) {
return a.xp - b.xp;
});
document.write(byXP);
我要输出的是
The top 3 members by XP are:
1. 346534
2. 1234567
3. 34343434556566
我知道我在某个地方搞砸了。
如何按子对象键 xp 的值对guildStats 中的所有对象进行排序
感谢您的帮助。
【问题讨论】:
-
guildStats是一个对象,但您正在尝试调用只有数组具有的slice方法...
标签: javascript sorting object discord