alex4answ
@alex4answ

Как из объекта получить 5 свойств с наибольшим весом?

Добрый вечер, есть объект ключ: вес как получить 5 самых "тяжелых" свойств?

Мои варианты:
1. При заполнении я бы использовал кучу (max heap) где в качестве сравнения - вес. + (автоматическая сортировка при вставке/изъятии), но не уверен что куча здесь подойдет.
2. В "тупую" перебирать св-ва в поисках 5 тяжелых, сравнивая каждое св-во с записанными ранее.
3. Получить Object.values(), прогнать через Math.max(), далее поиск этих значений в объекте

Подскажите пожалуйста, какие есть еще варианты, какой вариант будет лучше (по памяти, скорости), лаконичнее
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
WblCHA
@WblCHA
Object.entries(obj).sort((a, b) => b[1] - a[1]).slice(0, 5).map((e) => e[0]);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
XPOWER Одесса
от 3 000 до 5 500 $