Рейтинг пользователей по счету

Даны пользователи и их счет, как сделать так, чтобы выводился сначала пользователь, который имеет большее количество очков?

const={
userName1: 'Boris',
userScore1: 23,
userName2: 'Denis',
userScore2: 53,
userName3: 'Ahmed',
userScore3: 44
}

Как сделать так, чтоб сначала выводился 1 - Denis, 2 - Ahmed, 3 - Boris?


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

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

const users = {
  userName1: 'Boris',
  userScore1: 23,
  userName2: 'Denis',
  userScore2: 53,
  userName3: 'Ahmed',
  userScore3: 44
};

const uArr = [];
let i = 0;
while (users['userName' + ++i]) {
  uArr.push({ name: users['userName' + i], score: users['userScore' + i] });
}
uArr.sort((a, b) => b.score - a.score);

uArr.forEach((item, i) => console.log(i + 1, item.name, item.score));

→ Ссылка