Задать вопрос
@Mishcake

Как отсортировать массив с вложенными объектами?

Есть объект:

let userArch = {
    Воин: {
      count: 0,
      description:
        'Описание...',
    },
    Монарх: {
      count: 0,
      description:
        'Описание...',
    }

В одном участке кода я увеличиваю count:

switch (userAnswer) {
      case 'a':
        userArch.Воин.count += 1;
        break;
      case 'b':
        userArch.Монарх.count += 1;
        break;
      default:
        break;

И в конце я хочу отсортировать этот объект по вложенным значениям count.

Раньше объект выглядел по-другому:

let userArch = {
    Воин: 0,
    Монарх: 0,
  }

И эту задачу решал код:

let array = Object.entries(userArch);
  let sortedArray = array.sort((b, a) => a[1] - b[1]);

Но сейчас с вложенными свойствами это не работает. Кручу-верчу, никак не могу подобраться к сортировке вложенных свойств. Как отсортировать вложенные свойства?
  • Вопрос задан
  • 103 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 2
@Mishcake Автор вопроса
Простите нуба, решил сам:
let sortedArray = array.sort((b, a) => a[1].count - b[1].count);
Ответ написан
Комментировать
Anopeng
@Anopeng
Веб-программист, учу фронт и бек
let userArch = {
    Воин: {
      count: 0,
      description:
        'Описание...',
    },
    Монарх: {
      count: 0,
      description:
        'Описание...',
    }
}

let sortedEntries = Object.entries(userArch).sort(([,objA], [,objB]) => objA.count - objB.count);

Тут ничего сложного нет. И плюс я ещё немного упростил деструктурирующим присваиванием
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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