Именам оканчиваются на 'Я' или 'А' дать значение 0

Подскажите пожалуйста, что я не правильно делаю? Необходимо именам которые оканчиваются на 'Я или А' дать значение 0

let nameArr = ['Игорь', 'Яна', 'Валерий', 'Оля', 'Вячеслав', 'Борис']
let isMaleName = (name) => name.endsWith('а' || 'я') ? 1 : 0;
let numberArr = nameArr.map(isMaleName)

console.log(numberArr)

Ответы (3 шт):

Автор решения: Enokin

Попробуйте вот так. Функция endsWith проверяет оканчивается ли на нужное вам значение строка и принимает один параметр. Поэтому вам нужно запускать две проверки через условие ИЛИ

let nameArr = ['Игорь', 'Яна', 'Валерий', 'Оля', 'Вячеслав', 'Борис']

let isMaleName = (name) => name.endsWith('а') || name.endsWith('я') ? 1 : 0

let numberArr = nameArr.map(isMaleName)

console.log(numberArr)

→ Ссылка
Автор решения: Leks

let nameArr = ['Игорь', 'Яна', 'Валерий', 'Оля', 'Вячеслав', 'Борис'];
let newArr = [];
let arr = nameArr.map( item => item.slice(item.length-1))

for(let key of arr){
  if( key == 'а' || key == 'я' ){
    newArr.push(0)
  } else {
    newArr.push(1)
  }
}
console.log(newArr);

→ Ссылка
Автор решения: UModeL

Для вашей задачи вполне хватит небольшой "регулярки":

let nameArr = ['Игорь', 'Яна', 'Валерий', 'Оля', 'Вячеслав', 'Борис'];
let isMaleName = (name) => name.match(/[ая]$/i) ? 0 : 1;
let numberArr = nameArr.map(isMaleName);

console.log(numberArr);

→ Ссылка