Intermediate Algorithm Scripting: Pig Latin

Pig Latin Challenge mengkonversikan kata bahasa inggris ke format pig latin dengan aturan :
  • pindahkan konsonan pertama  ke akhir kata
  • tambahkan "ay" di akhir
  • jika huruf pertama adalah huruf vokal, tambahkan "way" di akhir

sehingga
  • "california" menjadi "aliforniacay"
  • "paragraphs" menjadi "aragraphspay".
  • "glove" menjadi "oveglay".
  • "algorithm" menjadi "algorithmway"
  •  "eight" menjadi "eightway"
Soal :
function translatePigLatin(str) {
return str;
}

translatePigLatin("consonant");
Jawaban :
function translate(str) {
  // variabel pigLatin untuk hasil dan variabel regex untuk huruf vokal
  var pigLatin = '';
  var regex = /[aeiou]/gi;
  // jika huruf pertama huruf vokal maka tambahkan 'way'
  if (str[0].match(regex)) {
    pigLatin = str + 'way';
  } else if(str.match(regex) === null) {
    // jika kata semua konsonan
    pigLatin = str + 'ay';}
 else {
    // menghitung berapa banyak huruf konsonan sebelum vokal pertama
    var vowelIndice = str.indexOf(str.match(regex)[0]);
    // membuat kata baru yang berawalan huruf vokal pertama
    // tambahkan konsonan ke akhir dan tambahkan 'ay'
    pigLatin = str.substr(vowelIndice) + str.substr(0, vowelIndice) + 'ay';
  }

  return pigLatin;
}

Comments