@vitas1693

Как сделать фильтрацию элементов по дням?

Нужно сделать фильтрацию по массиву с объектами за неделю, день, месяц.
В объекте хранится определенный день.

Данные в формате :
"test": [
    {
      "id": "uVB6FJQUH",
      "type": "kino",
      "total": 70,
      "date": "17.01.2021",

    }]


Фильтрацию по дню сделал, не могу сообразить как сделать за неделю, насколько понял нужно сначала создать интервал дней для кнопки НЕДЕЛЯ(Календарная неделя) и сравнить входит ли в него мой объект, подскажите плиз как это реализовать, делаю на фронте.

6015b2572ad9a366970042.jpeg
  • Вопрос задан
  • 171 просмотр
Пригласить эксперта
Ответы на вопрос 1
vmakhnyuk
@vmakhnyuk
Frontend developer
вы можете воспользоваться библиотекой date-fns. А именно методами:


Реализация
const lastBusinessWeekStart = subBusinessDays(new Date(), 7);
const lastBusinessMonthStart = subBusinessDays(new Date(), 30);
// фильтр неделя:
test.filter(({ date }) => isWithinInterval(
  new Date(date),
  { start: lastBusinessWeekStart, end: new Date() }
));

//фильтр месяц:
test.filter(({ date }) => isWithinInterval(
  new Date(date),
  { start: lastBusinessMonthStart, end: new Date() }
));
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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