Перед прохождением данного испытания рекомендуется пройти и проанализировать решение учителя в испытании "Построение маршрута".
transformer.js
Реализуйте и экспортируйте по умолчанию функцию, которая строит дерево относительно заданного корневого узла.
Функция принимает 2 аргумента:
- исходное дерево
- узел, от которого будет построено новое дерево.
Функция должна возвращать новое дерево с сохранёнными связями между узлами, в котором переданный узел является корневым.
Примеры
const tree = ['A', [ // A
['B', [ // / \
['D'], // B C
]], // / / \
['C', [ // D E F
['E'],
['F'],
]],
]];
transform(tree, 'B');
// ['B', [ // B
// ['D'], // / \
// ['A', [ // D A
// ['C', [ // \
// ['E'], // C
// ['F'], // / \
// ]], // E F
// ]],
// ]];
Подсказки
- Другие примеры можно посмотреть в файле с тестами
- Используйте функции из библиотеки lodash
- Работа с иерархическими структурами данных
Для полного доступа к испытанию нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.
Отзывы

Удалось наконец оформить более-менее чисто, и без функций с "побочными эффектами" (почти). Отличный курс, вызывает флэшбеки с лекций по мат. моделированию и автоматизации проектирования РЭС 20-летней давности. Графы с тех пор смотрю, не сильно изменились ))
И функции высшего порядка, кажется, начинают в голове упорядочиваться.
Спасибо!