Помимо решения @ Niraj. Избегайте мутирующих объектов при использовании массива map
. Создавать новые объекты на карте, возвращать значения функции. Как видно ниже, вы можете использовать find
и обновлять значение вместо карты. Надеюсь это поможет.
const convertNumberToJobUnit = data => {
const Agents = Object.assign({}, data);
return Agents.totalAgents.map(item => {
let worker_status;
let worker_level;
switch (item.worker_status) {
case 1:
worker_status = "Үндсэн";
break;
case 2:
worker_status = "Гэрээт";
break;
default:
break;
}
switch (item.worker_level) {
case 1:
worker_level = "New Staff";
break;
case 2:
worker_level = "Normal";
break;
case 3:
worker_level = "Good";
break;
case 4:
worker_level = "Very Good";
break;
default:
break;
}
const job = Agents.jobList.find(jobItem => item.job_id === jobItem.id);
const unit = Agents.unitList.find(
unitItem => item.organizition_unit_id === unitItem.id
);
return {
...item,
created_date: dateConvert(item.created_date),
job_id: job ? job.job_name : item.job_id,
organizition_unit_id: unit ? unit_name : item.organizition_unit_id,
worker_status,
worker_level
};
});
};