Middle+
Առաջադրանք՝ անցնել օբյեկտների ծառը (յուրաքանչյուր օբյեկտ ունի value և elements դաշտեր) և հաշվել բոլոր արժեքների գումարը: Ինչպե՞ս կիրականացնես դա։
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 ֆունկցիան ընդունում է հանգույց, ավելացնում նրա արժեքը գումարին, և ապա ռեկուրսիվ կերպով կանչում է ինքն իրեն բոլոր երեխաների համար, հավաքելով գումարը։