@rd100

Как можно отсортировать объект или map, чтобы после преобразовать в массив?

У нас есть сортировка из массива
let arr = ['link', 'header', 'div', 'link', 'link', 'body', 'link', 'div', 'div']

Где мы в цикле в объект добавляем значения obj[val] = 1, а если такой ключ уже существует, то делаем obj[val] += 1
Как нам после отсортировать объект, чтобы вывести массив по убыванию.
Попытался найти, как это делать через map, но не совсем понял, как там инкрементировать уже существующие значения

Примечание, нужно сделать это через цепочку методов
return arr.reduce => obj...
  • Вопрос задан
  • 494 просмотра
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
Не надо пытаться заниматься ерундой, сортируют массивы, а не объекты.

Object
  .entries(arr.reduce((acc, n) => (acc[n] = (acc[n] ?? 0) + 1, acc), {}))
  .sort((a, b) => b[1] - a[1])
  .forEach(n => console.log(n.join(': ')));
Ответ написан
Комментировать
Fragster
@Fragster
помогло? отметь решением!
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы