Skip to content

Instantly share code, notes, and snippets.

  • Save anonymous/73f53f7fb374942e616e to your computer and use it in GitHub Desktop.
Save anonymous/73f53f7fb374942e616e to your computer and use it in GitHub Desktop.
http://www.freecodecamp.com/gulshansainis 's solution for Bonfire: Pig Latin
bonfire-pig-latin?solution=function%20translate(str)%20%7B%0A%0A%20%20%20%20var%20vowels%20%3D%20%5B%22a%22%2C%20%22e%22%2C%20%22i%22%2C%20%22o%22%2C%20%22u%22%5D%3B%0A%0A%20%20%20%20%2F*%0A%20%20%20%201.%20check%20if%20word%20begin%20with%20vowel%0A%20%20%20%202.%20return%20str%20%2B%20%22way%22%0A%20%20%20%20*%2F%0A%20%20%20%20for%20(var%20v%20in%20vowels)%20%7B%0A%20%20%20%20%20%20%20%20if%20(str%5B0%5D.indexOf(vowels%5Bv%5D)%20!%3D%20-1)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20str%20%2B%20%22way%22%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F*%0A%20%20%20%20if%20first%20letter%20is%20not%20vowel%0A%20%20%20%201.%20begin%20inspecting%20from%20second%20letter%0A%20%20%20%202.%20break%20once%20letter%20is%20found%0A%20%20%20%20*%2F%0A%20%20%20%20var%20orignalStrArr%20%3D%20str.split(%22%22)%3B%0A%20%20%20%20var%20appendToLast%20%3D%20%22ay%22%3B%0A%20%20%20%20var%20middleString%20%3D%20%22%22%3B%0A%20%20%20%20var%20foundVowel%20%3D%20false%3B%0A%20%20%20%20for%20(var%20i%20%3D%201%3B%20i%20%3C%20orignalStrArr.length%3B%20i%2B%2B)%20%7B%0A%20%20%20%20%20%20%20%20if%20(!foundVowel)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log(%22Checking%20if%20%22%20%2B%20orignalStrArr%5Bi%5D%20%2B%20%22%20present%20in%20%22%20%2B%20vowels)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20for%20(var%20vowel%20in%20vowels)%20%7B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(orignalStrArr%5Bi%5D%20%3D%3D%3D%20vowels%5Bvowel%5D)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log(%22Match%20found%20for%20vowel%20%22%20%2B%20vowels%5Bvowel%5D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20foundVowel%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log(%22Exiting%20loop%20%22%20%2B%20vowels%5Bvowel%5D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20middleString%20%2B%3D%20orignalStrArr.shift()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20str%20%3D%20orignalStrArr.join(%22%22)%20%2B%20middleString%20%2B%20appendToLast%3B%0A%0A%20%20%20%20console.log(str)%3B%0A%0A%20%20%20%20return%20str%3B%0A%7D%0A%0A%0A%0Atranslate(%22california%22)%3B.js
// Bonfire: Pig Latin
// Author: @gulshansainis
// Challenge: http://www.freecodecamp.com/challenges/bonfire-pig-latin?solution=function%20translate(str)%20%7B%0A%0A%20%20%20%20var%20vowels%20%3D%20%5B%22a%22%2C%20%22e%22%2C%20%22i%22%2C%20%22o%22%2C%20%22u%22%5D%3B%0A%0A%20%20%20%20%2F*%0A%20%20%20%201.%20check%20if%20word%20begin%20with%20vowel%0A%20%20%20%202.%20return%20str%20%2B%20%22way%22%0A%20%20%20%20*%2F%0A%20%20%20%20for%20(var%20v%20in%20vowels)%20%7B%0A%20%20%20%20%20%20%20%20if%20(str%5B0%5D.indexOf(vowels%5Bv%5D)%20!%3D%20-1)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20str%20%2B%20%22way%22%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F*%0A%20%20%20%20if%20first%20letter%20is%20not%20vowel%0A%20%20%20%201.%20begin%20inspecting%20from%20second%20letter%0A%20%20%20%202.%20break%20once%20letter%20is%20found%0A%20%20%20%20*%2F%0A%20%20%20%20var%20orignalStrArr%20%3D%20str.split(%22%22)%3B%0A%20%20%20%20var%20appendToLast%20%3D%20%22ay%22%3B%0A%20%20%20%20var%20middleString%20%3D%20%22%22%3B%0A%20%20%20%20var%20foundVowel%20%3D%20false%3B%0A%20%20%20%20for%20(var%20i%20%3D%201%3B%20i%20%3C%20orignalStrArr.length%3B%20i%2B%2B)%20%7B%0A%20%20%20%20%20%20%20%20if%20(!foundVowel)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log(%22Checking%20if%20%22%20%2B%20orignalStrArr%5Bi%5D%20%2B%20%22%20present%20in%20%22%20%2B%20vowels)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20for%20(var%20vowel%20in%20vowels)%20%7B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(orignalStrArr%5Bi%5D%20%3D%3D%3D%20vowels%5Bvowel%5D)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log(%22Match%20found%20for%20vowel%20%22%20%2B%20vowels%5Bvowel%5D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20foundVowel%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log(%22Exiting%20loop%20%22%20%2B%20vowels%5Bvowel%5D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20middleString%20%2B%3D%20orignalStrArr.shift()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20str%20%3D%20orignalStrArr.join(%22%22)%20%2B%20middleString%20%2B%20appendToLast%3B%0A%0A%20%20%20%20console.log(str)%3B%0A%0A%20%20%20%20return%20str%3B%0A%7D%0A%0A%0A%0Atranslate(%22california%22)%3B
// Learn to Code at Free Code Camp (www.freecodecamp.com)
function translate(str) {
var vowels = ["a", "e", "i", "o", "u"];
/*
1. check if word begin with vowel
2. return str + "way"
*/
for (var v in vowels) {
if (str[0].indexOf(vowels[v]) != -1) {
return str + "way";
}
}
/*
if first letter is not vowel
1. begin inspecting from second letter
2. break once letter is found
*/
var orignalStrArr = str.split("");
var appendToLast = "ay";
var middleString = "";
var foundVowel = false;
for (var i = 1; i < orignalStrArr.length; i++) {
if (!foundVowel) {
console.log("Checking if " + orignalStrArr[i] + " present in " + vowels);
for (var vowel in vowels) {
if (orignalStrArr[i] === vowels[vowel]) {
console.log("Match found for vowel " + vowels[vowel]);
foundVowel = true;
console.log("Exiting loop " + vowels[vowel]);
break;
}
}
middleString += orignalStrArr.shift();
}
}
str = orignalStrArr.join("") + middleString + appendToLast;
console.log(str);
return str;
}
translate("california");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment