У меня есть эта система xp, и я сохраняю каждый идентификатор в json с именем. Как я могу отобразить 5 лучших людей? Есть ли способ получить данные и отобразить 5 за раз? Я бы попробовал отсортировать и после создания форума отобразить фиксированную 5, но я точно не знаю, как я мог бы это сделать. Есть идеи?
const xp = require("../../xp.json")
if (!xp[message.author.id]) {
xp[message.author.id] = {
xp: 0,
level:1
};
}
let curxp = xp[message.author.id].xp;
let curlvl = xp[message.author.id].level;
let nxtLevelXp = curlvl * 300;
let difference = nxtLevelXp - curxp;
Например, так я получаю данные для отображения
Используйте Object.entries
, вот пример -
const xp = require("../../xp.json");
var top5 = Object.entries(xp).sort((a,b)=>b[1].level - a[1].level).splice(0,5);
Попробуйте сопоставить их
Я могу получить к нему доступ? top 5[message.author.id] = { xp = xp, level = level} ?
ты пытаешься сделать вставку?
239817696802373642,[объект Объект]
[ [ '722224138872913931', { xp: 38292, уровень: 128 } ], [ '442320775508885504', { xp: 13140, уровень: 44 } ], [ '272194753316945920', { xp: 10742, уровень: 36 } ], [ '552517770366320650', {хр: 10377, уровень: 35}], ['232817696802373642', {хр: 10396, уровень: 35}]