私はfreecodecamp.comの練習問題のコードをPig Latinとして書いています。 whileループでは、条件が間違っているときにその中のコードの実行を停止する必要があります。私のケースでは、whileループは、繰り返し中にcharas配列の母音を見たときにwhileループ内のコードの実行を停止する必要があります。私のコードは私の視点では正しいと思うが、whileループは母音を見るときに実行を止めないが、charas配列のすべての要素を反復する。ここで ループが正常に動作していない
は、それが結果として物乞いで「」の文字を移動し、最初の反復I == 1(内2回目の反復後の作業原因charas.push(charas[i]);
charas.splice(i,1);
i = i+1;
として働く私のコード
function translatePigLatin(str) {
var vowels = ['a','e','i','o','u'];
var f="";
var charas = str.split("");
if(vowels.indexOf(charas[0])!==-1) {
// vowel
charas.push("w");
charas.push("a");
charas.push("y");
f = charas.join("");
} else {
//if first letter is a consonant or cluster of consonants
var i = 0;
while(vowels.indexOf(charas[i]) ===-1) {
charas.push(charas[i]);
charas.splice(i,1);
i = i+1;
}
charas.push('a');
charas.push('y');
f = charas.join("");
}
return f;
}
translatePigLatin("california");
この関数から何を返す必要がありますか? – Weedoze
入力文字列の最初の子音(または子音クラスター)を取り、単語の最後に移動し、接尾辞 "ay"を付けます。母音で始まる単語は、最後に "way"を追加するだけです。 –