Сортировать объект по дате - PullRequest
0 голосов
/ 18 марта 2020

Я хочу отсортировать объект по дате.
Это структура объекта:

const dates = {
  3/1/20: 1,
  3/10/20: 31,
  3/11/20: 35,
  3/12/20: 60,
  3/13/20: 64,
  3/14/20: 70,
  3/15/20: 93,
  3/16/20: 112,
  3/17/20: 112,
  3/2/20: 14,
  3/3/20: 14,
  3/4/20: 16,
  3/5/20: 25,
  3/6/20: 26,
  3/7/20: 29,
  3/8/20: 30,
  3/9/20: 30
}

Проблема в том, что когда дата начинается с номера 1, она выглядит следующим образом: 1, затем 11, 12, 13, et c.
Я хочу, чтобы он был отсортирован по норме: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 и др. c.

Нужный мне результат объекта:

const dates = {
  3/1/20: 1,
  3/2/20: 14,
  3/3/20: 14,
  3/4/20: 16,
  3/5/20: 25,
  3/6/20: 26,
  3/7/20: 29,
  3/8/20: 30,
  3/9/20: 30,
  3/10/20: 31,
  3/11/20: 35,
  3/12/20: 60,
  3/13/20: 64,
  3/14/20: 70,
  3/15/20: 93,
  3/16/20: 112,
  3/17/20: 112
}

Я посмотрел на этот пример , но они используют момент. js, который я не использую / не хочу использовать.
Также я посмотрел некоторые ответы на в этом посте , но это мне тоже не помогло.

1 Ответ

2 голосов
/ 18 марта 2020

Даже если это возможно в некоторых браузерах.

Нет гарантии , что Объект будет отсортирован в указанном c порядке.

Массивы , с другой стороны, можно отсортировать. Решением этой проблемы может быть использование массива объектов.

let dates = [
        {date: "3/1/20", value : 14},
        {date: "3/1/20", value : 14}
        .....
];

dates = dates.sort((a,b)=> new Date(b.date) - new Date(a.date));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...