с помощью рекурсивной функции но не тот результат, не подскажите, как правильно?
Исх. данные:
[
{
"id": 1,
"text": "as.",
"nested": [
{
"id": 2,
"text": "Qu",
"nested": []
},
{
"id": 3,
"text": "Es",
"nested": []
}
]
}
]
Желаймый результат:
[
{
"key": "0",
"data": {
"id": 1,
"text": "Pa",
"children": [
{
"key": "0-0",
"data": {
"id": 2,
"text": "Qu",
}
},
{
"key": "0-1",
"data": {
"id": 3,
"text": "Es",
}
}
]
}
}
]
function tree(val, tr = []) {
console.log('заход в ветвь, начало цикла', val);
val.forEach((v, i) => {
console.log('итерация цикла ветви', v);
let obj = {
'key': i,
'data': v,
};
if (v.nested.length) {
console.log('ветвь имеет вложенность, рекурсивный вызов', v.nested);
obj.children = tree(v.nested, tr);
}
tr.push(obj);
});
return tr;
}
Зачем рекурсия)
по условию неогр вложенность
И что? Там спокойно TCO применяется ручками
Обсуждают сегодня