Javascript 试图理解rö;varspr&xE5;ket翻译器
我正在做一个初学者练习,创建一个rövarspråket翻译 编写一个函数translate(),将文本转换为 “rövarspråket”。也就是说,将每个辅音加倍,并放置一个 中间出现“o”。例如,翻译(“这很有趣”) 应返回字符串“tothohisos isos fofunon” 我提出的解决方案很糟糕,所以我找到了一个,并试图理解它Javascript 试图理解rö;varspr&xE5;ket翻译器,javascript,function,if-statement,for-loop,Javascript,Function,If Statement,For Loop,我正在做一个初学者练习,创建一个rövarspråket翻译 编写一个函数translate(),将文本转换为 “rövarspråket”。也就是说,将每个辅音加倍,并放置一个 中间出现“o”。例如,翻译(“这很有趣”) 应返回字符串“tothohisos isos fofunon” 我提出的解决方案很糟糕,所以我找到了一个,并试图理解它 var translate = function(text) { var string = text.toLowerCase(); var vowe
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"));
var translate=函数(文本){
var string=text.toLowerCase();
可变元音=[“a”、“e”、“i”、“o”、“u”、“u];
变量y=“”;
对于(i=0;i
- 为什么
特别需要if(元音.indexOf(当前)!=-1)
?我试过-1
,-2
,-1000
,但它们都破坏了功能1000
- 如果我更改
y=“”代码>到
,y=“XYZ”
返回“xyztothehisos fofunon”。为什么它只在第一个辅音之前,而不是所有辅音之前翻译(“这很有趣”)
- 在
中找不到元音
时,精确返回当前
。这是来自其他语言的一个旧约定,其中返回值都必须是相同的类型(在本例中为整数)。如果Javascript是今天发明的,它可能会返回-1
或null
false
仅在此函数中是函数的返回值。它一开始是空的,每次迭代y
循环都会向for
添加更多的文本。如果您设置y
它将在y=“XYZ”
之后添加文本。该函数以空的XYZ
开始y
- 在
中找不到元音
时,精确返回当前
。这是来自其他语言的一个旧约定,其中返回值都必须是相同的类型(在本例中为整数)。如果Javascript是今天发明的,它可能会返回-1
或null
false
仅在此函数中是函数的返回值。它一开始是空的,每次迭代y
循环都会向for
添加更多的文本。如果您设置y
它将在y=“XYZ”
之后添加文本。该函数以空的XYZ
开始y
if(元音.indexOf(当前)!=-1)
特别需要-1?我试过-2,-1000,1000,但它们都破坏了功能
嗯,这就是找不到角色时返回的结果。如果你和其他任何东西相比,它会假设总是看到一个元音,而从不翻译任何东西
如果我更改y=“”代码>到y=“XYZ”
,翻译(“这很有趣”)
返回“xyztohohisos isos fofunon”
。为什么它只在第一个辅音之前,而不是所有辅音之前
因为它与辅音无关y
是累加器、缓冲区,不管您怎么称呼它,翻译结果逐项附加到它。它自然地以空字符串开始(初始化)
为什么if(元音.indexOf(当前)!=-1)
特别需要-1?我试过-2,-1000,1000,但它们都破坏了功能
嗯,这就是找不到角色时返回的结果。如果你和其他任何东西相比,它会假设总是看到一个元音,而从不翻译任何东西
如果我更改y=“”代码>到y=“XYZ”
,翻译(“这很有趣”)
返回“xyztohohisos isos fofunon”
。为什么它只在第一个辅音之前,而不是所有辅音之前
因为它与辅音无关y
是累加器、缓冲区,不管您怎么称呼它,翻译结果逐项附加到它。它自然地以空字符串开始(初始化)