Преобразование данных с путями в древовидную структуру
Получаю данные от API в формате JSON, где каждый элемент содержит путь к узлам как массив. Необходимо преобразовать их в иерархическую структуру для компонента дерева.
Исходные данные:
[
{
"title": "Элемент F1",
"route": [
"X",
"Y",
"Z"
]
},
{
"title": "Элемент F2",
"route": [
"X",
"Y",
"Z"
]
},
{
"title": "Элемент Y1",
"route": [
"X",
"Y"
]
},
{
"title": "Элемент X1",
"route": [
"X"
]
},
{
"title": "Элемент W1",
"route": [
"V",
"W"
]
}
]
Нужная структура:
var treeData = [
{
'Title': 'X',
'nodes': [
{
Title: 'Y',
nodes: [
{
Title: 'Z',
nodes: []
}
]
}
]
}
]
Как можно решить эту задачу, используя чистый JavaScript без дополнительных библиотек? Буду благодарен за помощь с алгоритмом преобразования.