@maksymNejmet

Необходимо сортировать вложенные объекты внутри массива по дате.Как это сделать?

Итак есть массив:


[
{
"firstName": "test",
"lastName": "test",
"email": "test@test",
"phoneNumber": "09899898",
"eventsCount": 2,
"events": [
{
"title": "go",
"description": "out",
"startDate": "2022-03-09T00:00:00.000Z",
"endDate": "2022-04-09T00:00:00.000Z",
},
{
"title": "lodash",
"description": "introducint",
"startDate": "2003-08-11T21:00:00.000Z",
"endDate": "2004-12-24T00:00:00.000Z"
}
],
},
]


Необходимо отсортировать объекты внутри массива events по возрастанию на основе даты в startDate(внутри массива events).Сортировка только внутри массива events,все остальные ключи объекта внутри массива изменять нельзя,сам массив в котором есть все объекты изменять также нельзя
  • Вопрос задан
  • 53 просмотра
Решения вопроса 1
@pavelpressf
const arr = [
  {
    "firstName": "maks",
    "lastName": "jer",
    "email": "joy@joy",
    "phoneNumber": "0999561146",
    "events": [
      {
        "title": "go",
        "description": "out",
        "startDate": "2011-09-02T21:00:00.000Z",
        "endDate": "2012-09-02T21:00:00.000Z"
      }
    ],
    "eventsCount": 1
  },
  {
    "firstName": "test",
    "lastName": "test",
    "email": "test@test",
    "phoneNumber": "09899898",
    "eventsCount": 2,
    "events": [
      {
        "title": "go",
        "description": "out",
        "startDate": "2022-03-09T00:00:00.000Z",
        "endDate": "2022-04-09T00:00:00.000Z",
      },
      {
        "title": "lodash",
        "description": "introducint",
        "startDate": "2003-08-11T21:00:00.000Z",
        "endDate": "2004-12-24T00:00:00.000Z"
      }
    ],
  }
];

arr.forEach((item) => {
  if (item.events) {
    item.events.sort((a, b) => {
      const dateA = new Date(a.startDate);
      const dateB = new Date(b.startDate);
      return dateA - dateB;
    });
  }
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
28 мар. 2024, в 18:16
1000 руб./за проект
28 мар. 2024, в 18:15
90000 руб./за проект
28 мар. 2024, в 18:05
5000 руб./за проект