Middle
Feladat: fa bejárása szövegkiírással és behúzásokkal (rekurzív bejárás beágyazott listában)
sobes.tech MI
Válasz az MI-től
A fa szerinti rekurzív bejáráshoz, mikor a szöveget behúzásokkal szeretnénk megjeleníteni, használhatunk egy olyan függvényt, amely elfogad egy csomópontot és a beágyazottság szintjét. Minden szinten hozzáadunk behúzásokat, például szóközökkel vagy tabulátorokkal.
JavaScript példakód egy beágyazott objektumlistához:
function printTree(node, indent = 0) {
console.log(' '.repeat(indent) + node.text);
if (node.children) {
node.children.forEach(child => printTree(child, indent + 2));
}
}
// Például adatok
const tree = {
text: 'gyökér',
children: [
{ text: 'gyerek1' },
{ text: 'gyerek2', children: [
{ text: 'unoka1' },
{ text: 'unoka2' }
]}
]
};
printTree(tree);
A kimenet olyan behúzásokkal lesz, amelyek tükrözik a mélységet:
gyökér
gyerek1
gyerek2
unoka1
unoka2
Ez a módszer univerzális és könnyen alkalmazható különböző struktúrákra és kimeneti formátumokra.