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))