Sobes.tech
Middle+

Aufgabe: Durchlaufen eines Objektbaums (jedes Objekt hat die Felder value und elements) und die Summe aller Werte berechnen. Wie würdest du das umsetzen?

sobes.tech KI

Antwort von AI

Для обхода дерева объектов с полями value и elements (где elements — массив дочерних объектов) и подсчёта суммы всех value можно использовать рекурсивную функцию.

Пример на JavaScript:

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;
}

// Пример использования:
const tree = {
  value: 10,
  elements: [
    { value: 5, elements: [] },
    { value: 3, elements: [
      { value: 2, elements: [] }
    ]}
  ]
};

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

Функция sumValues принимает узел, добавляет его значение к сумме, затем рекурсивно вызывает себя для всех дочерних элементов, аккумулируя сумму.