Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.11.2018, 11:26
Аспирант
Отправить личное сообщение для Eron Посмотреть профиль Найти все сообщения от Eron
 
Регистрация: 18.06.2018
Сообщений: 31

Топ пользователей
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.
Ответить с цитированием
  #2 (permalink)  
Старый 01.11.2018, 11:39
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,726

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));

Последний раз редактировалось Nexus, 01.11.2018 в 11:45.
Ответить с цитированием
  #3 (permalink)  
Старый 01.11.2018, 14:30
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

Тут была ошибка
.map(key => " @id" + key + " (" + base[key].name + ') | Баланс: ' + base[key].balance);
Ответить с цитированием
  #4 (permalink)  
Старый 01.11.2018, 14:32
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

.....
Ответить с цитированием
  #5 (permalink)  
Старый 01.11.2018, 20:37
Аспирант
Отправить личное сообщение для Eron Посмотреть профиль Найти все сообщения от Eron
 
Регистрация: 18.06.2018
Сообщений: 31

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));
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
совместная работа нескольких пользователей Aeliot@ Элементы интерфейса 5 27.09.2014 00:35
Поиск пользователей ajax+jQuery+PHP Razorik AJAX и COMET 0 09.11.2013 21:01
Доступ пользователей к разделу сайта по протоколу https:// Mp98-js Серверные языки и технологии 3 14.10.2013 00:45
300 миллионов пользователей и переход на WebKit Deff Оффтопик 72 22.02.2013 04:58
ТОП лист на javascript Romario Элементы интерфейса 6 12.02.2010 06:10