Sobes.tech
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 функциясы бир түйүндү кабыл алат, анын маанисин жыйнака кошот жана бардык балдар үчүн рекурсивдүү чакыруу жасайт, жыйынтыкты топтоп.