Middle+
Маселе: объекттер дарагынан өтүү (ар бир объектте value жана elements талаалары бар) жана бардык valueларды кошуу. Сиз аны кантип ишке ашырар элеңиз?
sobes.tech AI
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 функциясы бир түйүндү кабыл алат, анын маанисин жыйнака кошот жана бардык балдар үчүн рекурсивдүү чакыруу жасайт, жыйынтыкты топтоп.