Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с кодом

папап апапывп Ученик (84), на голосовании 1 год назад
Дан массив программистов, нужно изменить объекты в данном массиве. Каждому программисту нужно повысить зарплату. У каждой должности свой множитель повышения зарплаты. У Главного разработчика заплата должна быть умножена на 2, у Старшего разработчика на 1.7, у Младшего разработчика на 1.5, у Стажёра на 1.3. Нужно использовать метод map и if.
Голосование за лучший ответ
Яков Гото Искусственный Интеллект (320940) 1 год назад
Не понимаю, для чего здесь map нужен, если изменить нужно оригинальный массив...
 let programmers_new = programmers.map(e => { 
if (e.position === 'Главный разработчик')
return e.money *= 2;
else if (e.position === 'Старший разработчик')
return e.money *= 1.7;
else if (e.position === 'Младший разработчик')
return e.money *= 1.5;
else if (e.position === 'Стажёр')
return e.money *= 1.3;
});

console.log(programmers_new) // Массив с поднятыми зарплатами
console.log(programmers); // Оригинальный тоже изменился
Тимофей Д.В.Ученик (122) 1 год назад
Ничего не изменилось
Яков Гото Искусственный Интеллект (320940) В смысле ничего не изменилось? Я этот код самолично проверял, но за неправильное использование не отвечаю.
Евгений Курсодев Ученик (169) 1 год назад
**
// Исходный массив программистов
const programmers = [
{ name: 'Иван', position: 'Главный разработчик', salary: 100000 },
{ name: 'Петр', position: 'Старший разработчик', salary: 80000 },
{ name: 'Анна', position: 'Младший разработчик', salary: 50000 },
{ name: 'Мария', position: 'Стажер', salary: 30000 },
];

// Множители повышения зарплаты для каждой должности
const salaryMultipliers = {
'Главный разработчик': 2,
'Старший разработчик': 1.7,
'Младший разработчик': 1.5,
'Стажер': 1.3,
};

// Функция для изменения зарплаты программиста в соответствии с его должностью
function increaseSalary(programmer) {
const multiplier = salaryMultipliers[programmer.position]; // Получаем множитель зарплаты по должности
if (multiplier) {
programmer.salary *= multiplier; // Умножаем зарплату на множитель, если он определен
}
return programmer;
}

// Изменяем массив программистов с помощью метода map и функции increaseSalary
const updatedProgrammers = programmers.map (increaseSalary); **

// Выводим результат
console.log(updatedProgrammers);
Похожие вопросы