3.1 KiB
3.1 KiB
id | title | localeTitle | isRequired | challengeType |
---|---|---|---|---|
aa7697ea2477d1316795783b | Pig Latin | Jerga | true | 5 |
Description
Instructions
Tests
tests:
- text: <code>translatePigLatin("california")</code> debe devolver "aliforniacay".
testString: 'assert.deepEqual(translatePigLatin("california"), "aliforniacay", "<code>translatePigLatin("california")</code> should return "aliforniacay".");'
- text: <code>translatePigLatin("paragraphs")</code> debe devolver "aragraphspay".
testString: 'assert.deepEqual(translatePigLatin("paragraphs"), "aragraphspay", "<code>translatePigLatin("paragraphs")</code> should return "aragraphspay".");'
- text: <code>translatePigLatin("glove")</code> debe devolver "overglay".
testString: 'assert.deepEqual(translatePigLatin("glove"), "oveglay", "<code>translatePigLatin("glove")</code> should return "oveglay".");'
- text: <code>translatePigLatin("algorithm")</code> debe devolver "algorithmway".
testString: 'assert.deepEqual(translatePigLatin("algorithm"), "algorithmway", "<code>translatePigLatin("algorithm")</code> should return "algorithmway".");'
- text: <code>translatePigLatin("eight")</code> debe devolver "eightway".
testString: 'assert.deepEqual(translatePigLatin("eight"), "eightway", "<code>translatePigLatin("eight")</code> should return "eightway".");'
- text: Debe manejar las palabras donde la primera vocal viene al final de la palabra.
testString: 'assert.deepEqual(translatePigLatin("schwartz"), "artzschway", "Should handle words where the first vowel comes in the end of the word.");'
- text: Debe manejar palabras sin vocales.
testString: 'assert.deepEqual(translatePigLatin("rhythm"), "rhythmay", "Should handle words without vowels.");'
Challenge Seed
function translatePigLatin(str) {
return str;
}
translatePigLatin("consonant");
Solution
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;
}