SOURCE

let toList = function(Tree,id='id',pid='pid',c='children'){
    let arr = []
    let fun = function(T,pId=0){
        T.forEach(i=>{
            i[pid] = pId
            arr.push(i)
            if(i[c]){
                fun(i[c],i[id])
            }
            delete i[c]
        })
    }
    fun(Tree)
    return arr
}

let a = [
    { "id": 1, "name": "a1","children": [
        { "id": 2, "name": "a1", "children":[]},
        { "id": 3, "name": "a1", "children":[]}]
    }, 
    { "id": 4, "name": "a1","children":[]}]
console.log(toList(a))
console 命令行工具 X clear

                    
>
console