const tree = {
id: 1,
name: "App",
children: [
{
id: 2,
name: "Header",
children: [
{ id: 3, name: "Logo" },
{ id: 4, name: "Nav" }
]
},
{
id: 5,
name: "Content",
children: [
{ id: 6, name: "Sidebar" },
{
id: 7,
name: "Main",
children: [{ id: 8, name: "Article" }]
}
]
}
]
};
//output
// {
// 1: "App",
// 2: "App > Header",
// 3: "App > Header > Logo",
// 4: "App > Header > Nav",
// 5: "App > Content",
// 6: "App > Content > Sidebar",
// 7: "App > Content > Main",
// 8: "App > Content > Main > Article"
// }
const formatter = (node, path = "", res={}) => {
res[node.id] = path? path + ">" + node.name:node.name
if(node.children) {
node.children.forEach(item=>{
formatter(item, res[node.id], res)
})
}
return res
};
console.log(formatter(tree))
To embed this project on your website, copy the following code and paste it into your website's HTML: