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