Показать сообщение отдельно
  #7 (permalink)  
Старый 03.08.2022, 16:12
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Если даты уже отсортированы и формат закреплён, и если уж совсем оптимизировать, то наверное как-то так:
const filter = (data) => {
  if (!data || !data.length) return [];

  const firstDate = data[0].date;
  const result = [ firstDate ];

  let lastMonth = firstDate.slice(5, 7);

  for (let i = 1; i < data.length; i++) {
    const { date } = data[i];
    const month = date.slice(5, 7);

    if (month > lastMonth) {
      lastMonth = month;

      result.push(date);
    }
  }

  return result;
}
__________________
29375, 35

Последний раз редактировалось Aetae, 03.08.2022 в 16:15.
Ответить с цитированием