это на самом деле довольно просто. Позвольте мне немного изменить ваши примерные данные, чтобы последний элемент в arr
имел другую дату.
const arr = [{
"id": "5c9a108aab16141aca472980",
"idBoard": "5c7cf3d22c86ae1f9a210571",
"idList": "5c7cf40cb8f22b26862602aa",
"name": "Newest Card 1",
"due": "2019-03-27T06:30:00.000Z",
"time": "2019-03-25T18:30:12.000Z"
},
{
"id": "5c9a108aab16141aca472950",
"idBoard": "5c7cf3d22c86ae1f9a210571",
"idList": "5c7cf40cb8f22b26862602aa",
"name": "Newest Card 2",
"due": "2019-03-27T06:30:00.000Z"
},
{
"id": "5c9a108aab16141aca472960",
"idBoard": "5c7cf3d22c86ae1f9a210571",
"idList": "5c7cf40cb8f22b26862602aa",
"name": "Newest Card 3",
"due": "2019-03-27T06:30:00.000Z"
},
{
"id": "5c9a108aab16141aca472970",
"idBoard": "5c7cf3d22c86ae1f9a210571",
"idList": "5c7cf40cb8f22b26862602aa",
"name": "Newest Card 4",
"due": "2019-03-28T06:30:00.000Z",
"time": "2019-03-25T18:30:50.000Z"
}
]
Вот как мы можем отсортировать ваш массив:
const sortedArr = [...arr].sort((a,b)=> a.due - b.due);
Если вы хотите отфильтровать данные так, чтобы возвращались только те задачи, которые должны быть выполнены сегодня,
const today = new Date().setHours(0,0,0,0);
const filterToday = arr.filter(obj => new Date(obj['due']).setHours(0,0,0,0) === today);
console.log(filterToday);
Мы установили часы на (0,0,0,0), чтобы в функции фильтра учитывалась только дата / месяц / год.
Аналогично, если вы хотите получить задания, которые должны быть выполнены завтра,
const tomorrow = new Date();
tomorrow.setDate(new Date().getDate() + 1);
const filterTomorrow = arr.filter(obj => new Date(obj['due']).setHours(0,0,0,0) === tomorrow.setHours(0,0,0,0));
console.log(filterTomorrow);