Javascript 不是';翻译';串好了吗?
在下面的代码中,我尝试在madeup语言和英语之间创建一个简单的“翻译器”。如果工作正常,请致电Javascript 不是';翻译';串好了吗?,javascript,jquery,Javascript,Jquery,在下面的代码中,我尝试在madeup语言和英语之间创建一个简单的“翻译器”。如果工作正常,请致电 translate.toEnglish(“hopelopo”)将返回hello 调用translate.toLanguage(“hello”)将返回hopeloplopo 基本上,我想用字母+op替换每个非元音字母,反之亦然 这就是目前发生的情况: translate.toLanguage(“hello”)返回 “OPello” translate.toEnglish(“hopeloplopo”)返
translate.toEnglish(“hopelopo”)
将返回hello
调用translate.toLanguage(“hello”)
将返回hopeloplopo
基本上,我想用字母+op替换每个非元音字母,反之亦然
这就是目前发生的情况:
translate.toLanguage(“hello”)
返回
“OPello”
translate.toEnglish(“hopeloplopo”)
返回未定义的
请帮忙,谢谢
var vowels = ['a', 'e', 'i', 'o', 'u']
var translate = {
toEnglish:function(words) {
function strip(text) {
text = text.replace("OP", "").replace("op", "");
if (text.toLowerCase().indexOf("op") >= 0) strip(text)
else return text;
}
if (words.toLowerCase().indexOf("op") >= 0) strip(words)
else return words;
},
toLanguage:function(words) {
for (var i=0;i<words.length; i++) {
if ($.inArray(words[i], vowels)<0) {
var split = words.split(words[i]).join("OP");
return split;
}
else {
return words;
}
}
},
}
var元音=['a','e','i','o','u']
变量转换={
英语:功能(单词){
功能条(文本){
text=text.replace(“OP”和“”).replace(“OP”和“”);
if(text.toLowerCase().indexOf(“op”)>=0)strip(text)
否则返回文本;
}
if(words.toLowerCase().indexOf(“op”)>=0)strip(words)
否则返回单词;
},
语言:功能(单词){
对于(var i=0;i我不确定你的问题是什么,所以我只写了我将如何做你描述的事情
var translate = (function () {
function toEnglish(str) {
return str.replace(/(?=[a-z])([^aeiou])op/gi, '$1');
}
function toLanguage(str) {
return str.replace(/(?=[a-z])([^aeiou])/gi, function ($0, $1) {
return $1 + ($1 === $1.toUpperCase() ? 'OP' : 'op');
});
}
return {
toEnglish: toEnglish,
toLanguage: toLanguage
};
}());
然后
你的代码出了什么问题?它不起什么作用?给我们一些可以使用的东西,而不必制作我们自己的示例。给我们展示一些输入和输出示例。顺便说一下,当你将copulate
翻译成你的语言并返回时,你会得到culate
,看到问题了吗?请帮助,谢谢!
-帮助什么?你呢r代码以某种方式不工作?这是什么方式?错误?意外输出?调试时,在哪里以及如何失败?
translate.toLanguage('Hello'); // "HOPeloplopo"
translate.toEnglish('HOPeloplopo'); // "Hello"