Как написать функцию расчета зарплат?

Напиши функцию countTotalSalary(salaries) которая принимает объект зарплат, где имя свойства это имя сотрудника, а значение свойства это зарплата. Функция должна рассчитать общую сумму зарплат сотрудников и вернуть её. Используй переменную totalSalary для хранения общей суммы зарплаты.

Объявлена функция countTotalSalary(salaries)
Вызов countTotalSalary({}) возвращает 0
Вызов countTotalSalary({ mango: 100, poly: 150, alfred: 80 }) возвращает 330
Вызов countTotalSalary({ kiwi: 200, poly: 50, ajax: 150 }) возвращает 400
Функция учитывает только собственные свойства объекта

Ответы (1 шт):

Автор решения: entithat

Так, как делается это на самом деле:

Проходимся по каждому значению с объекта obj с помощью Object.values().

console.log(countTotalSalary({})); // 0
console.log(countTotalSalary({ mango: 100, poly: 150, alfred: 80 })) // 330
console.log(countTotalSalary({ kiwi: 200, poly: 50, ajax: 150 })); // 400

function countTotalSalary(obj) {
  return Object.values(obj).reduce((totalSalary,c) => totalSalary + c, 0);
}

Так, как требует того ваше задание:

Делаем то же самое, только используем обычный цикл for-of, а не функцию reduce.

console.log(countTotalSalary({})); // 0
console.log(countTotalSalary({ mango: 100, poly: 150, alfred: 80 })) // 330
console.log(countTotalSalary({ kiwi: 200, poly: 50, ajax: 150 })); // 400

function countTotalSalary(obj) {
  let totalSalary = 0;
  for (const salary of Object.values(obj)) {
    totalSalary += salary;
  }
  return totalSalary;
}

→ Ссылка