Nikita Kostichev

Не понял как после этой строки

return { ...node, name: node.name.toLowerCase() };

функция дальше двигается по дереву. Помогите разобраться.

3 0

Здравствуйте

Обратите внимание, что эта строчка выполняется, когда наша нода не является директорией, то есть не содержит дочерних элементов. Так как мы используем рекурсию, то этот результат вернётся в ту часть рекурсии, где была вызвана и добавиться в объект. Здесь действует тот же принцип, что и в теории урока, только тип данных отличается

0

Спасибо! Стало понятнее! Но теперь возник вопрос по теории:

Так как первый ребёнок уже был посещён, второй рекурсивный вызов заходит в узел F и выполняет там свою работу.

Откуда рекурсивному вызову "известно" что первый ребёнок уже был посещён?

0

Мы последовательно проходимся по всем дочерним элементам с помощью map, именно поэтому можно гарантировать, что ни один ребёнок не будет пропущен

0

Последние ревью

Автор Дата обновления Версий
nikkstchv 18 авг., 20:14 1 Посмотреть
user-9a8ad6e76be65bad 18 авг., 17:11 1 Посмотреть
martyns0n 18 авг., 08:13 1 Посмотреть
Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Node, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →