Middle+
Taak: door een objectboom lopen (elk object heeft velden value en elements) en de som van alle values berekenen. Hoe zou je dit implementeren?
sobes.tech AI
Antwoord van 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 принимает узел, добавляет его значение к сумме, затем рекурсивно вызывает себя для всех дочерних элементов, аккумулируя сумму.