JSFiddle - React, Tailwind, and code Playground
JavaScript
var tree = [
{
name: 'ololo',
children: [
{
name: 'ololo2',
children: [{ name: 'ololo3' }]
}
]
},
{
name: 'something',
children: [
{
name: 'something2',
children: [
{
name: 'something3',
children: [{ name: 'something4' }]
}
]
}
]
},
{
name: 'I do not have children'
},
{
name: 'lastone',
children: [{ name: 'lastchild' }]
}
]
function flattenName(data) {
let result = []
for (let el of data) {
result.push(el.name)
if (el.children) {
const childrenNames = flattenName(el.children)
result = result.concat(childrenNames)
}
}
return result
}
console.log(flattenName(tree))