Javascript 如何从字符串中删除所有元音并使用for循环返回结果?
我想写一个函数,它接收一个字符串并返回一个新字符串,使用for循环删除所有元音。我尝试过使用各种字符串方法,但运气不佳 到目前为止,我的代码是这样的:Javascript 如何从字符串中删除所有元音并使用for循环返回结果?,javascript,string,Javascript,String,我想写一个函数,它接收一个字符串并返回一个新字符串,使用for循环删除所有元音。我尝试过使用各种字符串方法,但运气不佳 到目前为止,我的代码是这样的: function disemvowel(string) { let newString = ""; for (let i = 0; i < str.length; i++) { if (string[i] != "a" && string[i] != "e" && string[i] != "
function disemvowel(string) {
let newString = "";
for (let i = 0; i < str.length; i++) {
if (string[i] != "a" && string[i] != "e" && string[i] != "i" && string[i] != "o" && string[i] != "u") {
return newString += string[i];
};
};
};
函数disemvowel(字符串){
让newString=“”;
for(设i=0;i
更新
这个问题不是重复的。这是我一直在寻找的解决方案
function disemvowel(string) {
let vowels = {
'a': true,
'e': true,
'i': true,
'o': true,
'u': true
};
let result = "";
for (let i = 0; i < string.length; i++) {
let letter = string[i].toLowerCase();
if (!vowels[letter]) {
result += string[i];
}
};
return result;
};
函数disemvowel(字符串){
让元音={
“a”:是的,
“e”:对,
“我”:是的,
“o”:对,
“u”:对
};
让结果=”;
for(设i=0;i
最简单的方法是将函数替换为正则表达式:
function removeVowels( input ){
return input.replace(/[aeiouAEIOU]/g, "");
}
备注:此函数不测试输入是否为字符串,此处假定为
正如Jonas Wilms所指出的,通过将i
(忽略大小写)标志与正则表达式一起使用,可以以更短的方式实现这一点:
function removeVowels( input ){
return input.replace(/[aeiou]/gi, "");
}
最简单的方法是使用正则表达式替换函数:
function removeVowels( input ){
return input.replace(/[aeiouAEIOU]/g, "");
}
备注:此函数不测试输入是否为字符串,此处假定为
正如Jonas Wilms所指出的,通过将i
(忽略大小写)标志与正则表达式一起使用,可以以更短的方式实现这一点:
function removeVowels( input ){
return input.replace(/[aeiou]/gi, "");
}
您需要g
标志,使用i
标志,您可以为g
标志保存元音符号的重复。这里也可以使用i标志,这是真的谢谢!有没有一种方法可以使用for循环或其他不是快捷表达式的简单方法,如.replace(/[aeiou]/ig',)
您需要g
标志,使用i
标志,您可以为g
标志保存元音符号的重复。这里也可以使用i标志,这是真的谢谢!有没有一种方法可以使用for循环或其他不是快捷表达式的简单方法,如.replace(/[aeiou]/ig,”)
以及重复问题,您可能想知道函数的错误:您在str
和string
之间切换;这需要前后一致。您将返回语句
放错了位置。删除return
并在for
-循环块关闭后添加return newString
。顺便说一下,我喜欢你的函数名!尽管修复了,Hm my for循环仍然不起作用。谢谢你!除了重复的问题,您可能还想知道您的函数有什么问题:在str
和string
之间切换;这需要前后一致。您将返回语句
放错了位置。删除return
并在for
-循环块关闭后添加return newString
。顺便说一下,我喜欢你的函数名!尽管修复了,Hm my for循环仍然不起作用。谢谢你!