Sobes.tech
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 ֆունկցիան ընդունում է հանգույց, ավելացնում նրա արժեքը գումարին, և ապա ռեկուրսիվ կերպով կանչում է ինքն իրեն բոլոր երեխաների համար, հավաքելով գումարը։