169 похожих чатов

Здравствуйте надо одно дерево в немного другое преобразовать пытаюсь сделать

с помощью рекурсивной функции но не тот результат, не подскажите, как правильно?

Исх. данные:
[
{
"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;
}

3 ответов

11 просмотров

Зачем рекурсия)

gri-gvandri Автор вопроса
T T
Зачем рекурсия)

по условию неогр вложенность

gri gvandri
по условию неогр вложенность

И что? Там спокойно TCO применяется ручками

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта