Niklaus Wirth

Niklaus Wirth

Translate

Pig Latin

Функция добавляющая "way", если слово начинается с гласной и добавляющая согласные из начала в конец слова с прибавлением окончания"ay"

Пятый день программы "#100 Days Of Code"

Задание называется Pig Latin - Латынь Свиньи, наверное.

Дано следующее задание:

function translatePigLatin(str) {

return str;
}

translatePigLatin("consonant");

Суть задания в том, что нужно написать функцию, которая будет принимать слово на английском (в нижнем регистре) и преобразовать это слово таким образом, чтобы получилось так:

Если слово начинается с главной буквы, то просто добавить к нему окончание - way

Если с согласной, то нужно перенести ВСЕ согласные в конец слова в такой же последовательности и прибавить окончание - ay

Если условие не понятно, то лучше посмотрите на то, что должна сделать функция, в конце поста

Используемые методы:

Создаем три переменные. Одна из них будет разделять строку, превращая ее в массив. Другая будет искать в строке гласные буквы . Третья, будет возвращать подстроку с указанной позиции.

Далее записываем так:if (str.search(/[aeiou]/g) === 0) {
strArray.push("w", "a", "y");
str = strArray.join("");
return str;
}


То есть, если на первом месте будет главная в конец массива будет добавлены по буквам ("w", "a", "y")

В другом случае, включится цикл поиска for in в подстроке, который удалит согласную из начала строки и добавит её в конец, прибавив окончание - ay и вернет результат

Последнее действие, которое мы производим - это объединяем массив опять в строку и результат возвращает уже заданная функция.

Ниже привожу полученный код полностью.


function translatePigLatin(str) {
  var strArray = str.split("");
  var vowNum = str.search(/["aeoui"]/g);
  var subStr = str.substr(0, vowNum);
if(vowNum === 0){
  strArray.push("w","a","y");
   return strArray.join("");
}
for(var i in subStr){
   strArray.push(subStr[i]);
   strArray.shift(subStr[i]);
}
   strArray.push("a","y");
  return strArray.join("");
}

translatePigLatin("consonant");

translatePigLatin("california")
return "aliforniacay".
translatePigLatin("paragraphs")
return "aragraphspay".
translatePigLatin("glove")
return "oveglay".
translatePigLatin("algorithm")
return "algorithmway".
translatePigLatin("eight")
return "eightway".

Комментариев нет:

Отправить комментарий