Sobes.tech
Middle+

Feladat: járd végig egy objektumfát (minden objektumnak van value és elements mezője), és számold össze az összes értéket. Hogyan valósítanád meg?

sobes.tech MI

Válasz az MI-től

Az objektumfák bejárásához, amelyek value és elements mezőkkel rendelkeznek (ahol az elements egy gyermekobjektumokat tartalmazó tömb), rekurzív függvény használható.

Példa JavaScript-ben:

function sumValues(node) {
  let sum = node.value;
  if (node.elements && node.elements.length > 0) {
    for (const child of node.elements) {
      sum += sumValues(child);
    }
  }
  return sum;
}

// Használati példa:
const tree = {
  value: 10,
  elements: [
    { value: 5, elements: [] },
    { value: 3, elements: [
      { value: 2, elements: [] }
    ]}
  ]
};

console.log(sumValues(tree)); // 20

A sumValues függvény egy csomópontot vesz be, hozzáadja az értékét az összeghez, majd rekurzívan meghívja magát minden gyermekelemre, összegyűjtve az eredményt.