Вы сравниваете 12 раз и назначаете 12 раз, поэтому последнее сравнение относится к Dec
, который присваивает «Неверное значение».Это вызвано некорректной логикой на нескольких уровнях.
Я думаю, вам лучше использовать массив названий месяцев и indexOf()
:
function monthDateMapper(month) {
const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
var index = months.indexOf(month);
return index == -1 ? 'Invalid Value' : index + 1; // or (index+1).toString() if needed
};
console.log(monthDateMapper('Jan'));
console.log(monthDateMapper('Apr'));
console.log(monthDateMapper('Dec'));
console.log(monthDateMapper('ZZZ'));
PS Обратите внимание, что я также изменил «июль» на «июль» для согласованности.