Sobes.tech
Middle+

Tarea: recorrer un árbol de objetos (cada objeto tiene campos value y elements) y contar la suma de todos los valores. ¿Cómo lo implementarías?

sobes.tech AI

Respuesta de la IA

Para recorrer un árbol de objetos con campos value y elements (donde elements es un array de objetos hijos) y calcular la suma de todos los value, se puede usar una función recursiva.

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

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

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

La función sumValues toma un nodo, añade su valor a la suma, y luego se llama recursivamente para todos los elementos hijos, acumulando la suma.