目的 給定一個字符串,翻譯串入PigLatin(如果字符串以元音開頭,追加「的方式」結束串 - 別人看的第一個元音並採取所有前面的字母,並在str的末尾放置,添加「ay」)。PigLatin問題與SUBSTR()和slice()
CODE
function translate(str) {
//list vowels
var vowel = ['a', 'e', 'i', 'o', 'u'];
//if first letter = vowel, add 'way' to end of sentence
// else return all letters before first vowel and append to end (with 'ay')
for (var i = 0; i < str.length; i++) {
if (vowel.indexOf(str[0]) > -1) {
return str + 'way';
} else {
return str.substr(i+1) + str.slice(0,i+1) + 'ay';
}
}
}
translate("dresser");
質詢
- 上述代碼工作的情況下,這樣的 「算法」 和 「桌子」,但與 「手套」 失敗 - 導致我相信問題在於.substr()或.slice()。另外的調查認爲這是一個邏輯錯誤。任何幫助表示讚賞!
hmmmm ...你能精心設計嗎? 當vowel.indexOf(str [i])> -1時,我需要使用'break'語句嗎? – jonplaca
@kidlogic不,沒有中斷聲明。你無條件地從循環中過早地返回。我用適用的代碼更新了我的答案。我拿出'i + 1'並用'i'替換它們。 – yts
你爲此 - 我感到愚蠢,因爲我最近有非常相似的代碼,但後來認爲我是多餘的我的vowel.indexOf(str [i])> -1 謝謝! – jonplaca