Здравствуйте 👋 сегодняшняя простая задача называется поросячьей латынью и имеет очень простое описание, как показано ниже:

Описание

Переместите первую букву каждого слова в конец, затем добавьте «ay» в конец слова. Оставьте знаки препинания нетронутыми.

Примеры

pigIt('Pig latin is cool'); // igPay atinlay siay oolcay
pigIt('Hello world !');     // elloHay orldway !

Давайте код 👩‍💻

Это простая проблема. Самый простой способ — создать массив из строки с помощью метода split(). Затем мы можем отобразить все элементы внутри результирующего массива в их версию со свиньями, при условии, что элемент не является специальным символом.

Затем мы можем использовать метод join() для объединения всех элементов массива в одну строку, а затем использовать метод trim() для строки, чтобы удалить начальные и конечные символы пробела.

function pigIt(str) {
  return str
    .split(" ")
    .map(function (str) {
      if (isSpecialCharacter(str)) {
        return str;
      } else {
        return str.substring(1) + str[0] + "ay";
      }
    })
    .join(" ")
    .trim();
}

function isSpecialCharacter(str) {
  var specialCharacters = "!@#$%^&*()_+-=[]{}|;':\"<>,.?/\\";
  return specialCharacters.includes(str);
}

Функция специальных символов проверяет, включен ли переданный строковый аргумент в строку специальных символов.

И это все. Свинья, это довольно весело, ты не думаешь 🤔

Ссылки

Вопрос: https://www.codewars.com/kata/520b9d2ad5c005041100000f/train/javascript

Github (скопируйте код и оставьте звездочку): https://github.com/AmohPrince/CodeWars/blob/master/Javascript/SimplePigLatin.js

Адиос 👋