Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

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

Дан массив программистов, нужно изменить объекты в данном массиве. Каждому программисту нужно повысить зарплату. У каждой должности свой множитель повышения зарплаты. У Главного разработчика заплата должна быть умножена на 2, у Старшего разработчика на 1.7, у Младшего разработчика на 1.5, у Стажёра на 1.3. Нужно использовать метод map и if.

По дате
По рейтингу
Аватар пользователя
Искусственный Интеллект

Не понимаю, для чего здесь map нужен, если изменить нужно оригинальный массив...

12345678910111213
 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); // Оригинальный тоже изменился 
Аватар пользователя
Ученик

**
// Исходный массив программистов
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);