我正在做一個初學者練習,創建一個rövarspråket翻譯。試圖瞭解rövarspråket翻譯
編寫一個函數translate(),將文本翻譯成 「rövarspråket」。也就是說,將每個輔音加倍,並在其間放置一個「o」發生的 。例如,翻譯(「這很有趣」) 應返回字符串「tothohisos isos fofunon」。
我提出的解決方案很糟糕,所以我找到了一個here並試圖理解它。
var translate = function(text) {
var string = text.toLowerCase();
var vowels = ["a", "e", "i", "o", "u", " "];
var y = "";
for (i = 0; i < string.length; i++) {
var current = string.charAt(i);
if (vowels.indexOf(current) != -1) {
y = (y + (current));
} else {
y = (y + (current + "o" + current));
}
}
return y;
}
console.log(translate("this is fun"));
爲什麼
if (vowels.indexOf(current) != -1)
需要-1
特別?我試過-2
,-1000
,1000
,但他們都打破了這個功能。如果我將
y = "";
更改爲y = "XYZ"
,則返回「XYZtothohisos isos fofunon」。爲什麼只在第一個輔音之前,而不是所有的輔音?