Вопрос Напишите на javascript программу расчета средней зарплаты пяти сотрудников фирмы.

Регистрация
24 Авг 2013
Сообщения
81
Репутация
0
Спасибо
0
Монет
0
Напишите на JavaScript программу расчета средней зарплаты пяти сотрудников фирмы. Вывести получившиеся значения, используя объект Document. Расположить текст по центру страницы с помощью заголовка
 
debugger ;function rnd(min, max) {
// получить случайное число от (min-0.5) до (max+0.5)
let rand = min - 0.5 + Math.random() * (max - min + 1);
return Math.round(rand);
}
tmp = 'Иванов,Петров,Сидоров,Козладоев, Даромебов'.split(',');
users = [];
for (i = 0; i < 5; i++) {
var user = prompt('ФИО, ЗП', `${tmp?.}, ${rnd(50000, 100000)} `);
parts = user.split(',');
user = {
username: parts[0],
salary: parts[1]
};
users.push(user)
}debugger
average = users.reduce((partialSum, a) => partialSum + parseFloat(a.salary), 0)/users.length;
console.table(users)
console.log(average)
 
// функция-конструктор
const AverageSalaryOfEmployees = function () {
var salaries = new Map();


// добавить человека
this.addEmployee = (name, salary) => {
if (!/[A-ZА-Я][a-zа-я]+\s[A-ZА-Я][a-zа-я]+\s[A-ZА-Я][a-zа-я]+/.test(name)) {
throw new Error('Укажите ФИО разделяя пробелом');
}

if (typeof salary !== 'number') {
throw new Error('Зарплата должна быть указана числом');
}

salaries.set(name, salary);
};


// удалить человека
this.removeEmployee = (name) => {
return salaries.delete(name);
};


// очистить всех
this.clearAllEmployee = () => {
salaries.clear();
};


// вывести всех сотрудников и их з/п
this.showAllEmployees = () => {
return [...salaries.entries()];
};


// средняя з/п
this.averageSalary = () => {
var sum = 0;

for (let val of salaries.values()) {
sum += val;
}

return sum / salaries.size;
};
}

// создаю экземпляр
const averageSalaryOfEmployees = new AverageSalaryOfEmployees();

// добавляю людей
averageSalaryOfEmployees.addEmployee('Ivanov Ivan Ivanovich', 150000);
averageSalaryOfEmployees.addEmployee('Vasiliev Vasiliy Vasilevich', 350000);
averageSalaryOfEmployees.addEmployee('Stepanov Stepan Stepanovich', 33000);

// считаю среднюю з/п
averageSalaryOfEmployees.averageSalary(); Имена должны быть уникальны, но это возможно решить, заморачиваться не стал
 
Назад
Сверху