Sobes.tech
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.