Soy nuevo en mecanografiar y tengo problemas para hacer lo siguiente, tengo una matriz y solo quiero imprimir los nodos de hoja, la matriz resultante debería verse como-['002', '004', '007'], Can Alguien por favor ayuda ... Espero aprender, ¡Gracias de antemano!
la matriz-
[ { Name: "A", HasChildren: true, Children: [ { Name: "002", HasChildren: false, Children: [] }, { Name: "004", HasChildren: false, Children: [] } ] }, { Name: "007", HasChildren: false, Children: [] } ]Si la matriz es
[ { Name: "007", HasChildren: false, Children: [] } ]la matriz resultante debería ser - ['007']
Lo que puedes hacer es revisar cada elemento. Si no tiene hijos, imprímalo y continúe con su próximo hermano. Si tiene al menos un hijo, revise recursivamente cada hijo con la misma lógica.
Stackblitz: https://stackblitz.com/edit/typescript-vfvyn7?file=index.ts
const elements = [ { Name: 'A', HasChildren: true, Children: [ { Name: '002', HasChildren: false, Children: [], }, { Name: '004', HasChildren: false, Children: [], }, ], }, { Name: '007', HasChildren: false, Children: [], }, ]; console.log(elements); function printLeaves(elements: any[]) { for (const element of elements) { if (element.Children.length == 0) { console.log(element); continue; } printLeaves(element.Children); } } printLeaves(elements)