javascript - 如何更改 if/else 语句以在 javascript 中循环
问题描述
我想将 if/else 语句更改为函数中的循环,该函数接收字符串并返回一个新字符串,该字符串将元音字母更改为它之后的下一个字母。
function changeVowels(str) {
var alphabet = 'abefijopuvABEFIJOPUV';
var strNew = ""
for(var i = 0; i < str.length; i++){
for(var j = 0; j < alphabet.length; j++){
if(str[i] === alphabet[j] && j%2 === 0){
strNew += alphabet[j+1]
}
}
if(str[i]==='a' || str[i]==='i' || str[i]==='u'||str[i]==='e' || str[i]==='o'){}
else if(str[i]==='A' || str[i]==='I' || str[i]==='U'|| str[i]==='E' || str[i]==='O'){}
else{
strNew+=str[i]
}
}
return strNew
}
console.log(changeVowels('Car'))
如何将下面的 if/else 语句更改为循环?
if(str[i]==='a' || str[i]==='i' || str[i]==='u'||str[i]==='e' || str[i]==='o'){}
else if(str[i]==='A' || str[i]==='I' || str[i]==='U'|| str[i]==='E' || str[i]==='O'){}
else{strNew+=str[i]}
或者我不介意你改变它除了循环,或者让它更短
解决方案
您可以检查字符是否为元音,然后从给定字符串或实际字母中获取下一个字母。
function changeVowels(str) {
var alphabet = 'abefijopuvABEFIJOPUV';
var strNew = ""
for (var i = 0; i < str.length; i++) {
if ('aeiou'.includes(str[i].toLowerCase())) {
strNew += alphabet[alphabet.indexOf(str[i]) + 1];
} else {
strNew += str[i];
}
}
return strNew;
}
console.log(changeVowels('Car'))
推荐阅读
- java - 从 Firestore 中排除时间戳中的日期
- html - 在 AIML 中添加图像
- c++ - gcc 选项 std=gnu++17 与 std=c++17
- c - 当我运行我的代码时,它没有给我任何输出,当我尝试调试它时,它给了我如下所述的错误。需要帮助来解决此问题
- javascript - 如何在 React-intl 日期格式中使用 '-' 而不是 '/'
- swiftui - SwiftUI:编译器无法在合理的时间内对该表达式进行类型检查
- laravel - Laravel Cashier Paddle - 试用天数错误
- security - 避免金融网站dos攻击的最推荐解决方案是什么?
- c++ - 如何将 protobuf 动态消息转换为 C++ 中声明的消息?
- python - django mongodb 使用 djongo 和 pymongo 连接