@wakenbyWork

Как оставить в объекте три самых больших числа?

Есть объект такого вида:

const object = {
	1: 1,
	2: 3,
	3: 3,
	4: 3,
	5: 0,
	6: 2,
	7: 1,
	8: 3
}


Т.е ключи с 1 по 8, и их значения. Необходимо оставить 3 ключа(т.е оставить ключ=значение) с самыми большими значениями
  • Вопрос задан
  • 104 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Сколько свойств должно быть в объекте: const propsCount = 3;.

Собираем новый объект:

const newObj = Object.fromEntries(Object
  .entries(obj)
  .sort((a, b) => a[1] - b[1])
  .slice(-propsCount)
);

Удаляем свойства существующего:

Object
  .entries(obj)
  .sort((a, b) => b[1] - a[1])
  .slice(propsCount)
  .forEach(n => delete obj[n[0]]);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы