Как сделать рейтинг пользователей по счету
Есть задача сделать рейтинг пользователей, по их счету (тот у кого больше очков - на 1 месте, у кого меньше - на последнем) через цикл с jquery
var scores = [userScore1, userScore2, userScore3, userScore4...]
var scoresRank = [userScore1, userScore2, userScore3, userScore4...]
var maxScore=Math.max.apply(Math, scoresRank)
var rank = 1
var rankPosition = 0
var userPosition
var userIndex
var arrleng=0
while (arrleng!=scores.length) {
for (var i = scoresRank.length - 1; i >= 0; i--) {
if (scoresRank[i]==maxScore) {
$('.user .userRank').eq(i).text(rank)
rank++
arrleng++
scoresRank.splice(i, 1)
if (scoresRank!=-1) {
maxScore=Math.max.apply(Math, scoresRank)
}
}
}
}
Ответы (1 шт):
Автор решения: Sergei Kirjanov
→ Ссылка
const scores = [
{ user: "Ivan", score: 22 },
{ user: "Petr", score: 11 },
{ user: "Vasya", score: 20 },
];
[...scores].sort((a,b)=>b.score-a.score).forEach((item,pos)=>{
const div = document.createElement("DIV")
div.innerHTML = `${pos}. ${item.user}`
document.documentElement.appendChild(div)
})