Array object reordering

   arr = [
        {id:1,name:""},
        {id:2,name:"", children:[
            {id:4,name:""}
            ]},
        {id:3,name:""}
    ];
    

how do you reorder the array above into the following format?

   newArr = [
        {id:1,name:""},
        {id:2,name:""},
        {id:4,name:""}
        {id:3,name:""}
    ];
    

guys, help me take a look. Thank you

Mar.25,2021

function trans (arr) {
  return [].concat.apply([], arr.map(cur => {
    return [{id: cur.id, name: cur.name}].concat(cur.children ? trans(cur.children) : [])
  }))
}
let newArr = trans(arr)

let arr = [
    {id:1,name:''},
    {id:2,name:'', children:[
            {id:4,name:''}
        ]},
    {id:3,name:''}
];

function format(arr) {
    return arr.reduce((result, item) => {
        return [...result, {id:item.id,name:item.name}, ...item.children || []]
    },[]);
}

console.log(format(arr));
Menu