@historydev

Почему попадают под фильтр все символы в количестве одного?

Задача перенести первую букву каждого слова в конец, но не трогать знаки препинания, в добавок завершить каждое слово "ay", что я сделал не так?

function pigIt(str){
  const splitted = str.split(' ');
  return splitted.map(el => {
  console.log(el)
    if(el.length === 1 && !new RegExp(/^[a-zA-Zа-яА-Я0-9 ]+$/).test(str)) return el;
    const es = el.split('');
    es[es.length] = es[0];
    es.splice(0, 1);
    return es + 'ay';
  }).join(' ');
}

console.log(pigIt('Pig 0 latin is cool !'))
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
@historydev Автор вопроса, куратор тега JavaScript
Опечатался, вместо элемента передавал строку:
.test(str) => .test(el)

function pigIt(str){
  const splitted = str.split(' ');
  return splitted.map(el => {
  console.log(el)
    if(el.length === 1 && !new RegExp(/^[a-zA-Zа-яА-Я0-9]+$/).test(el)) return el;
    const es = el.split('');
    es[es.length] = es[0];
    es.splice(0, 1);
    return es.join('') + 'ay';
  }).join(' ');
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы