Топ пользователей
var users = {
"1": {
"balance": 300,
"name": "Юрий"
},"2": {
"balance": 399,
"name": "Юрий"
},"3": {
"balance": 3000,
"name": "Юрий"
},"4": {
"balance": 5000,
"name": "Юрий"
},"5": {
"balance": 5001,
"name": "Юрий"
},"6": {
"balance": 5000,
"name": "Юрий"
},"7": {
"balance": 5e9,
"name": "Юрий"
}
}
function getTop(base, n){
return Object
.keys(base)
.sort((a, b) => base[b].balance - base[a].balance)
.slice(0, n)
.map(key => " @id" + base[key].id + " (" + base[key].name + ') | Баланс: ' + base[key].balance);
}
var iduser = 5;
var mestotop;
console.log(getTop(users, 10).join("\n" + "\n \n Твое место в топе: " + mestotop))
Требуется вывести в консоль место в топе юзера с айди 5. |
var func=(function(){
var users = {
"1": {
"balance": 300,
"name": "Юрий"
},"2": {
"balance": 399,
"name": "Юрий"
},"3": {
"balance": 3000,
"name": "Юрий"
},"4": {
"balance": 5000,
"name": "Юрий"
},"5": {
"balance": 5001,
"name": "Юрий"
},"6": {
"balance": 5000,
"name": "Юрий"
},"7": {
"balance": 5e9,
"name": "Юрий"
}
},
sortedList=Object.keys(users).sort((a,b)=>users[a].balance-users[b].balance);
return {
getUserByPosition:function(position){
return --position in sortedList?users[sortedList[position]]:null;
},
getPositionByUserId:function(userId){
var result=sortedList.indexOf(userId+'');
return result<0?null:result+1;
}
};
})();
console.log(func.getPositionByUserId(5));
|
Тут была ошибка
.map(key => " @id" + key + " (" + base[key].name + ') | Баланс: ' + base[key].balance);
|
.....
|
var func=(function(){
var users = {
"1": {
"balance": 300,
"name": "Юрий"
},"2": {
"balance": 399,
"name": "Юрий"
},"3": {
"balance": 3000,
"name": "Юрий"
},"4": {
"balance": 5000,
"name": "Юрий"
},"5": {
"balance": 5001,
"name": "Юрий"
},"6": {
"balance": 5000,
"name": "Юрий"
},"7": {
"balance": 5e9,
"name": "Юрий"
}
},
sortedList=Object.keys(users).sort((a,b)=>users[a].balance-users[b].balance);
return {
getUserByPosition:function(position){
return --position in sortedList?users[sortedList[position]]:null;
},
getPositionByUserId:function(userId){
var result=sortedList.indexOf(userId+'');
return result<0?null:result+1;
}
};
})();
console.log(func.getPositionByUserId(5));
|
| Часовой пояс GMT +3, время: 01:03. |