使用 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