Aquí hay algunos proyectos ficticios relacionados entre sí por parentId , los proyectos de nivel superior tienen un parentId de 0
const projects = [ {id:4, parentId:1, name:'pro 4', children: []}, {id:5, parentId:1, name:'pro 5', children: []}, {id:6, parentId:2, name:'pro 6', children: []}, {id:7, parentId:4, name:'pro 7', children: []}, {id:10, parentId:9, name:'pro 10', children: []}, {id:8, parentId:4, name:'pro 8', children: []}, {id:9, parentId:7, name:'pro 9', children: []}, {id:1, parentId:0, name:'pro 1', children: []}, {id:2, parentId:0, name:'pro 2', children: []}, {id:3, parentId:0, name:'pro 3', children: []}, {id:11, parentId:10, name:'pro 11', children: []}, ];Estos proyectos deben estructurarse en forma de árbol como este:
const tree = { project.children: [ sub-project.children: [{},{},{},{},{}], sub-project.children: [ sub-project.children: [{},{},{}], ] ] };Necesito resolver este problema con una función recursiva ya que el nivel de subproyectos es ilimitado.