Node.js топ по монеткам

работаю со старым чистым nodejs v14, у меня есть JSON формата {"id":{"coins":n,"nickname":"nick"}, ... } Нужно сделать топ 10 по монеткам, подскажите пожалуйста как можно это сделать, чтобы выводилось к примеру:

  1. nick - 100 монет ...
  2. nick - 5 монет ...

Ответы (1 шт):

Автор решения: entithat

const arr = {
  "1": {
    "coins": 5,
    "nickname": "a#1111"
  },
  "2": {
    "coins": 3,
    "nickname": "b#1111"
  },
  "3": {
    "coins": 2,
    "nickname": "c#1111"
  }
};

const top10 = Object.entries(arr).sort((a,b) => b[1].coins - a[1].coins).slice(0, 10);

for (const [id, user] of top10) {
  console.log(user.nickname, user.coins);
}

→ Ссылка