--- id: aa7697ea2477d1316795783b title: Pig Latin isRequired: true challengeType: 5 forumTopicId: 16039 localeTitle: Pig Latin --- ## Description
Переведите предоставленную строку в латинский свиньи. Pig Latin берет первый согласный (или согласный кластер) английского слова, переводит его в конец слова и суффиксы «ay». Если слово начинается с гласного, вы просто добавляете «путь» до конца. Строки ввода гарантированно являются английскими словами во всех строчных строках. Не забудьте использовать Read-Search-Ask, если вы застряли. Попробуйте подключить программу. Напишите свой собственный код.
## Instructions
## Tests
```yml tests: - text: translatePigLatin("california") should return "aliforniacay". testString: assert.deepEqual(translatePigLatin("california"), "aliforniacay"); - text: translatePigLatin("paragraphs") should return "aragraphspay". testString: assert.deepEqual(translatePigLatin("paragraphs"), "aragraphspay"); - text: translatePigLatin("glove") should return "oveglay". testString: assert.deepEqual(translatePigLatin("glove"), "oveglay"); - text: translatePigLatin("algorithm") should return "algorithmway". testString: assert.deepEqual(translatePigLatin("algorithm"), "algorithmway"); - text: translatePigLatin("eight") should return "eightway". testString: assert.deepEqual(translatePigLatin("eight"), "eightway"); - text: Should handle words where the first vowel comes in the middle of the word. translatePigLatin("schwartz") should return "artzschway". testString: assert.deepEqual(translatePigLatin("schwartz"), "artzschway"); - text: Should handle words without vowels. translatePigLatin("rhythm") should return "rhythmay". testString: assert.deepEqual(translatePigLatin("rhythm"), "rhythmay"); ```
## Challenge Seed
```js function translatePigLatin(str) { return str; } translatePigLatin("consonant"); ```
## Solution
```js function translatePigLatin(str) { if (isVowel(str.charAt(0))) return str + "way"; var front = []; str = str.split(''); while (str.length && !isVowel(str[0])) { front.push(str.shift()); } return [].concat(str, front).join('') + 'ay'; } function isVowel(c) { return ['a', 'e', 'i', 'o', 'u'].indexOf(c.toLowerCase()) !== -1; } ```