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

#javascript #arrays #function #date #array-filter

#javascript #массивы #функция #Дата #массив-фильтр

Вопрос:

 var monthStartDate = new Date(); 
monthStartDate.setUTCDate(1);
var weekOneStartDate = JSON.stringify(monthStartDate.toJSON().substring(0, 10));

var monthEndDate = new Date(monthStartDate); 
monthEndDate.setUTCMonth(monthEndDate.getUTCMonth()   1);
monthEndDate.setUTCDate(0);
var weekFiveEndDate = JSON.stringify(monthEndDate.toJSON().substring(0, 10));
document.write(weekOneStartDate)
document.write(weekFiveEndDate)
  
if(res.data.items.length > 0 )
{  
  var DateArray = res.data.items.filter(obj => obj.created_at >=   weekOneStartDate   
obj.created_at <= weekFiveEndDate)
  console.log(DateArray.length);

}
  
  1. Я сохранил дату внутри переменной
  2. Теперь я объединяю внутри фильтра массива
  3. obj => obj.created_at >= weekOneStartDate
  4. это не работает
  5. Как мы можем объединить внутри функции

Комментарии:

1. Вы можете использовать литералы шаблона: filter(obj => `${obj.created_at}>=${weekOneStartDate${obj.created_at}<=${weekFiveEndDate}`)

2. Данные не фильтруются, отображаются все данные

3. Я не совсем понимаю, что вы хотите сделать. Не могли бы вы обновить свой вопрос тем, что вы ожидаете показать?

4. Вы не можете объединить >= и таким filter образом. Выполните фильтр, затем объедините.

5. Я фильтрую данные массива на основе created_date, вместо использования дат я сохраняю диапазон дат в переменной. и я использую внутреннюю функцию. Теперь, как я могу объединить переменную с obj.created_at