Функция добавляющая "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".
Комментариев нет:
Отправить комментарий