У меня есть хранилище массивов Информация о задаче. Каждая задача имеет также массив taskId, который зависит от этого.Групповой массив по вложенному зависимому элементу массива
Входной
let inputArr = [
{
id: 1,
dependOnTasks: [2, 3]
},
{
id: 2,
dependOnTasks: [3]
},
{
id: 3,
dependOnTasks: []
},
{
id: 4,
dependOnTasks: [5]
},
{
id: 5,
dependOnTasks: []
},
{
id: 6,
dependOnTasks: [5]
}
]
Ожидаемый выход группировка все зависимости задачи в один массив для отображения на пользовательском интерфейсе.
Выход
[
[
{
id: 1,
dependOnTasks: [2, 3]
},
{
id: 2,
dependOnTasks: [3]
},
{
id: 3,
dependOnTasks: []
}
],
[
{
id: 4,
dependOnTasks: [5]
},
{
id: 5,
dependOnTasks: []
},
{
id: 6,
dependOnTasks: [5]
}
]
]
Я сделал функцию, чтобы сделать это, но, кажется, я думал неправильно, жестко закодированы его. Надеюсь, кто-то может помочь мне в правильном архивировании, используя чистый JavaScript/TypeScript или Underscore, поскольку мы уже использовали его в проекте.
Замечено: TaskId будет случайная строка, как «5878465507b36e1f9c4c46fe»
Что бы ожидаемые результаты если, например, задача 3 зависит от задачи 4? Или задача 5 зависит от задачи 1? –
Если задача 3 зависит от задачи 4, мы можем заключить, что вся задача зависит друг от друга. Таким образом, результатом будет группа из 6 задач. То же самое для задачи 5 зависит от задачи 1. Является ли это достаточно ясным для вас? Просто дайте мне знать. Если у вас больше запросов. – trungk18
Являются ли такие идентификаторы (1 для первого объекта, 2 для второго и т. Д.)? Или это случайные числа? –