0
Students
Before taking this one, we recommend you complete the "Transformer" challenge.
puzzle.js
Implement and export as default a function that unites separate branches into a single tree. Each of the branches in turn is also a tree.
The function takes an indefinite number of branches and connects them. The root node of the merged tree is the root node of the first passed branch.
Examples
const branch1 = ['A', [ // A
['B', [ // |
['C'], // B
['D'], // / \
]], // C D
]];
const branch2 = ['B', [ // B
['D', [ // |
['E'], // D
['F'], // / \
]], // E F
]];
const branch3 = ['I', [ // I
['A', [ // |
['B', [ // A
['C'], // |
['H'], // B
]], // / \
]], // C H
]];
combine(branch1, branch2, branch3);
// ['A', [ // A
// ['B', [ // / \
// ['C'], // B I
// ['D', [ // /|\
// ['E'], // C D H
// ['F'], // / \
// ]], // E F
// ['H'],
// ]],
// ['I'],
// ]];
Tips
- Other examples can be found in the tests file
- Use the lodash lib functions
For full access to the challenge you need a professional subscription.
A professional subscription will give you full access to all Hexlet courses, projects and lifetime access to the theory of lessons learned. You can cancel your subscription at any time.