Sobes.tech
Middle+

Tarefa: percorrer uma árvore de objetos (cada objeto tem campos value e elements) e calcular a soma de todos os valores. Como você implementaria isso?

sobes.tech IA

Resposta da IA

Para percorrer uma árvore de objetos com campos value e elements (onde elements é um array de objetos filhos) e calcular a soma de todos os value, pode-se usar uma função recursiva.

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

// Exemplo de uso:
const tree = {
  value: 10,
  elements: [
    { value: 5, elements: [] },
    { value: 3, elements: [
      { value: 2, elements: [] }
    ]}
  ]
};

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

A função sumValues recebe um nó, adiciona o seu valor à soma, e chama-se recursivamente para todos os elementos filhos, acumulando a soma.