JavaScript: Трансформер

Обновлено: 14 сент., 06:56
363
Студента
69%
Завершения

Перед прохождением данного испытания рекомендуется пройти и проанализировать решение учителя в испытании "Построение маршрута".

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
//   ]],
// ]];

Подсказки

Для полного доступа к испытанию нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Отзывы

Аватар пользователя Илья
Илья 14 августа 2020

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

И функции высшего порядка, кажется, начинают в голове упорядочиваться.

Спасибо!