t-alexashka
@t-alexashka
Сразу пишу legacy код

Как сделать сортировку объекта?

Есть объект:

{
  "10": {
    "name": "The Name",
    "count": "4"
  },
  "9": {
    "name": "Some name",
    "count": "7"
  }
  ...
  "1": {
    "name": "Bla bla",
    "count": "6"
  }
}


Но перед тем как вывести это в читаемую для юзера таблицу он у меня оказывается с прямой сортировкой (1-9) а мне нужно чтобы была такая же сортировка как пришла от сервера (9-1). как мне запретить сортировку javascript'у при конверте в json? Или как отсортировать объект обратно по убыванию?
  • Вопрос задан
  • 1587 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Сделайте из объекта массив и сортируйте его как вам нужно:

const sortedData = Object
  .entries(data)
  .map(([ key, val ]) => ({ ...val, id: key }))
  .sort((a, b) => b.id - a.id);
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@mortyy
нужно поменять ключи на не числовые
Ответ написан
Stalker_RED
@Stalker_RED
Никак. Использовать какие-то другие структуры данных.
Ответ написан
Ваш ответ на вопрос

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

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