使用 es6 计算复杂对象中特定 属性 的所有值的总和
Calculate sum of all vales of a particular property from a complex object using es6
使用 es6 从复杂对象计算特定 属性 的所有值的总和?
计算所有工资的总和?
let company = {
sales: [
{ name: 'Samin', salary: 1000 },
{ name: 'Adib', salary: 1600 },
],
development: {
sales: {
Wholesale: [{ name: 'Eva', salary: 1300 }],
retai: {
temp: [{ name: 'Bipu', salary: 1600 }],
parmanent: [{ name: 'Diba', salary: 1000 }],
},
},
sites: {
admin: [
{ name: 'Anam', salary: 2000 },
{ name: 'Suva', salary: 1800 },
],
},
internals: [{ name: 'Mou', salary: 1300 }],
},
};
let sumSalaries = (department) =>
Array.isArray(department)
? department.reduce((ac, el) => ac + el.salary, 0)
: Object.values(department).reduce((ac, el) => ac + sumSalaries(el), 0);
console.log(sumSalaries(company)); // 11600
使用 es6 从复杂对象计算特定 属性 的所有值的总和? 计算所有工资的总和?
let company = {
sales: [
{ name: 'Samin', salary: 1000 },
{ name: 'Adib', salary: 1600 },
],
development: {
sales: {
Wholesale: [{ name: 'Eva', salary: 1300 }],
retai: {
temp: [{ name: 'Bipu', salary: 1600 }],
parmanent: [{ name: 'Diba', salary: 1000 }],
},
},
sites: {
admin: [
{ name: 'Anam', salary: 2000 },
{ name: 'Suva', salary: 1800 },
],
},
internals: [{ name: 'Mou', salary: 1300 }],
},
};
let sumSalaries = (department) =>
Array.isArray(department)
? department.reduce((ac, el) => ac + el.salary, 0)
: Object.values(department).reduce((ac, el) => ac + sumSalaries(el), 0);
console.log(sumSalaries(company)); // 11600