Разделите данные в массиве на категории - PullRequest
0 голосов
/ 15 января 2020

Я хочу сделать приложение, похожее на todoist . У меня есть все задачи в одном массиве, и я думаю, что лучший способ отобразить задачи за следующие 7 дней - это разбить данные на множество массивов за каждый день. Мое решение хорошо или я должен сделать что-то еще?

пример объекта задачи:

{
"archived": false,
"_id": "5e1dd882c1db5600176b09b8",
"name": "Do something",
"order": 1,
"user": "5e128d1eb2d8b90017efdccc",
"deadline": "01-02-2020"

}

моя функция:

export function sortTaskList(list) {
const sortedTasks = [
{
  daysFromNow: 0,
  tasks: []
},
{
  daysFromNow: 1,
  tasks: []
},
{
  daysFromNow: 2,
  tasks: []
},
{
  daysFromNow: 3,
  tasks: []
},
{
  daysFromNow: 4,
  tasks: []
},
{
  daysFromNow: 5,
  tasks: []
},
{
  daysFromNow: 6,
  tasks: []
},
{
  daysFromNow: "later",
  tasks: []
}
];
const today = new Date().getDate();

 list.forEach(task => {
let days = task.deadline - today;

if (days > 6) {
  sortedTasks[7].tasks.push(task);
} else {
  sortedTasks[days].tasks.push(task);
}
});

sortedTasks.forEach(list => list.tasks.sort((a, b) => b.order - a.order));

return sortedTasks;

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...