Программа, которая переводит с английского на свиную латынь.
- Pig Latin берет первую согласную (или группу согласных) английского слова, перемещает ее в конец слова и добавляет суффикс «ау».
- Если слово начинается с гласной, вы просто добавляете в конце «путь». Это может быть неочевидно, но вам нужно удалить все согласные до первой гласной, если слово не начинается с гласной.
Если первый символ — гласный, то возьмите это слово целиком и добавьте в конце «путь». В противном случае возникает сложная часть: возьмите согласную(ые) перед первой гласной, переместите ее в конец и добавьте «ау». Это может сбивать с толку, но это не только первая согласная, но и все они перед первой гласной.
Вам нужно будет использовать все, что вы знаете о манипуляциях со строками, чтобы сделать последнюю часть правильно. Однако это можно сделать только с помощью
substr
.
Функция translatePigLatin
function translatePigLatin(str) { var strArr = []; var tmpChar; // check if the char is consonant using RegEx function isConsonant(char) { return !/[aeiou]/.test(char); } // return initial str + "way" if it starts with vowel // if not - convert str to array if (!isConsonant(str.charAt(0))) return str + "way"; else strArr = str.split(""); // push all consonats to the end of the array while (isConsonant(strArr[0])) { tmpChar = strArr.shift(); strArr.push(tmpChar); } // convert array to string and concatenate "ay" at the end return strArr.join("")+"ay"; }
Вывод
// test here translatePigLatin("consonant");
Объяснение кода:
isConsonant()
используется для проверки того, является ли символ согласной.- Если первый символ гласный, добавьте путь к концу строки и верните его.
- Если первый символ не гласный:
- Разделить строку на массив, используя
split()
. - Переместите все согласные в конец массива с помощью
shift()
иpush()
. - Преобразуйте массив в строку, используя
join()
, и добавьте y в конец строки. Верни это.
Кодекс в действии
Click Below