Доброго времени суток!
Я пытаюсь реализовать алгоритм, который создает узлы в цикле. Если узел соответствует условию, то к нему добавляется потомок, который может содержать свои узлы с потомками, если они тоже удовлетворяют условию.
У меня есть входные данные в виде массива объектов с вопросами и ответами. Каждый ответ может ссылаться на следующую секцию по id.
Мне нужно преобразовать эти данные в древовидную структуру, где каждый узел - это вопрос, а его потомки - варианты ответов.
Я пробовал решить задачу с помощью вложенных циклов, но запутался. Может кто-то подсказать, как правильно построить такое дерево? Буду благодарен за любые идеи или примеры кода.
let входныеДанные = [
{
id: 1,
название: 'первый вопрос',
вопросы: [
{
id: 1,
текст: 'У вас есть машина?',
ответы: [
{id: 1, текст: 'Да', следующаяСекция: 2},
{id: 2, текст: 'Нет', следующаяСекция: 3}
]
}
]
},
// другие секции...
];
// Нужно получить структуру вида:
let результат = {
название: 'У вас есть машина?',
потомки: [
{
название: 'Да',
потомки: [
// вложенные вопросы...
]
},
{
название: 'Нет',
потомки: [
// вложенные вопросы...
]
}
]
};