Подскажите как при помощи рекурсии получить сумму всех значений salary
const company = [{
name: "Mike",
salary: 500
},
[{
name: "John",
salary: 600
}],
[
[{
name: "Mary",
salary: 400,
}],
[
[
[
[{
name: "Alex",
salary: 450
}]
]
]
],
],
];
Ответы (1 шт):
Автор решения: EzioMercer
→ Ссылка
Попробуйте как вариант такое решение:
const company = [{
name: "Mike",
salary: 500
},
[{
name: "John",
salary: 600
}],
[
[{
name: "Mary",
salary: 400,
}],
[
[
[
[{
name: "Alex",
salary: 450
}],
[{
name: "Alex"
}]
]
]
],
],
];
const countSummarySalary = (branches) => {
let sum = 0;
if (Array.isArray(branches)) {
for (const branch of branches) {
sum += countSummarySalary(branch);
}
} else if (typeof branches === 'object') {
return branches.salary ?? 0;
}
return sum;
}
console.log(countSummarySalary(company));