У меня есть массив объектов. Этот массив представляет собой последовательность заданий, и мне нужно сгруппировать эти задания по максимальному количеству часов, которые эта группа имеет, максимум 8 часов, и на основе окна даты выполнения.
Пример:
Задания:
[
{
id: 1,
description: 'Importação de arquivos de fundos',
maxConclusionDate: 2019-11-10T12:00:00.000Z,
estimateTime: 2
},
{
id: 2,
description: 'Importação de dados da Base Legada',
maxConclusionDate: 2019-11-11T12:00:00.000Z,
estimateTime: 4
},
{
id: 3,
description: 'Importação de dados de integração',
maxConclusionDate: 2019-11-11T08:00:00.000Z,
estimateTime: 6
},
]
Окно выполнения:
[
"2019-11-10 09:00:00",
"2019-11-11 12:00:00"
];
В этом примере мне нужно сгруппировать задания, выполнение которых занимает не более 8 часов и не проходит максимальная дата выполнения
Результат должен быть таким, сгруппированным по ID:
[[1,3],[2]]
Моя проблема состоит в том, чтобы найти способ сгруппировать и удалить уже сгруппированные индексы, чтобы не группировать их снова. Пока это то, что я получил :