Найти в Дзене

Пост 4: Рекурсия для структур данных

Пост 4: Рекурсия для структур данных 🌳 Рекурсия идеальна для вложенных структур, таких как дерево отделов компании. 📊 Пример: подсчёт зарплат: let company = { sales: [{name: 'John', salary: 1000}, {name: 'Alice', salary: 600}], development: { sites: [{name: 'Peter', salary: 2000}, {name: 'Alex', salary: 1800}], internals: [{name: 'Jack', salary: 1300}] } }; function sumSalaries(department) { if (Array.isArray(department)) { return department.reduce((sum, emp) => sum + emp.salary, 0); } return Object.values(department).reduce((sum, subdep) => sum + sumSalaries(subdep), 0); } 🔥 sumSalaries(company) = 6700. Работает на любой глубине вложенности!

Пост 4: Рекурсия для структур данных 🌳

Рекурсия идеальна для вложенных структур, таких как дерево отделов компании.

📊 Пример: подсчёт зарплат:

let company = {

sales: [{name: 'John', salary: 1000}, {name: 'Alice', salary: 600}],

development: {

sites: [{name: 'Peter', salary: 2000}, {name: 'Alex', salary: 1800}],

internals: [{name: 'Jack', salary: 1300}]

}

};

function sumSalaries(department) {

if (Array.isArray(department)) {

return department.reduce((sum, emp) => sum + emp.salary, 0);

}

return Object.values(department).reduce((sum, subdep) => sum + sumSalaries(subdep), 0);

}

🔥 sumSalaries(company) = 6700. Работает на любой глубине вложенности!