gpt4 book ai didi

javascript - CoderByte 字母更改 Javascript

转载 作者:行者123 更新时间:2023-12-03 07:40:09 24 4
gpt4 key购买 nike

问题是:

使用 JavaScript,让函数 LetterChanges(str) 获取传递的 str 参数,并使用以下算法对其进行修改。将字符串中的每个字母替换为字母表中紧随其后的字母(即,c 变为 d,z 变为 a)。然后将这个新字符串中的每个元音(a、e、i、o、u)大写,最后返回这个修改后的字符串。

function LetterChanges(str){ 
var result = "";
for(var i = 0; i < str.length; i++) {
var letters = str[i];
if (letters == "a"|| letters == "e"|| letters == "i"|| letters == "o"|| letters =="u") {
letters = letters.toUpperCase();
result+=letters;
} else if (letters == "z") {
letters = "a";
} else {
var answer = "";
var realanswer="";
for (var i =0;i<str.length;i++) {
answer += (String.fromCharCode(str.charCodeAt(i)+1));
}
realanswer += answer
}
}
return realanswer;
return result;
}
LetterChanges();

基本上,如果 return realanswer 放在返回结果之前,并且使用“o”调用 LetterChanges,我会得到未定义的输出。但如果用非元音(例如“b”)调用它,它将输出“c”,这是正确的。

现在,如果我将返回结果放在返回 realanswer 之前,它将适用于元音,但不适用于其他字母。感谢您的帮助

最佳答案

    function LetterChanges(str) { 

return str
.replace(/[a-zA-Z]/g, (x) => String.fromCharCode(x.charCodeAt(0)+1))
.replace(/[aeiou]/g, (v) => v.toUpperCase());
}
  1. 第一部分以 1 为增量修改辅音。

    • 正则表达式使用 [] 与根本不使用括号来隔离字符。 g 确保正则表达式应用于字符串中的任何位置,而不是不放置 g ,后者会给出搜索的第一次出现。

    • 您必须将字符串中的字符转换为其 Unicode,因为递增是一种数学运算。 x.charCodeAt(0) 表示参数中字符串的索引为 0。增量1不在括号内,而是在括号外。

  2. 第二部分将元音修改为大写。

    • 这非常简单,正则表达式仅查找单个字符,因为使用了 [],而 g 用于字符串中的任何位置。修饰符是使字符变成大写。

关于javascript - CoderByte 字母更改 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35445380/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com