gpt4 book ai didi

javascript - Coderbyte 挑战 4 : Letter Changes - Won't Upper Case

转载 作者:行者123 更新时间:2023-12-02 18:09:05 25 4
gpt4 key购买 nike

我在 Coderbyte 的挑战中遇到问题

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

这是我的代码:

function LetterChanges(str) {
str = str.toLowerCase();
var al = "abcdefghijklmnopqrstuvwxyz";
var vo = "aeiou";
var newStr = "";
for (var i = 0;i < str.length;i++) {
if (al.charAt(al.indexOf(str.charAt(i))) == "z") {
newStr += "A";
}
else if (str.charAt(i) == " "){
newStr += " ";
}
else {
if (al.charAt(al.indexOf(str.charAt(i))+1) == vo.charAt(vo.indexOf(str.charAt(i)))) {
newStr += vo.charAt(vo.indexOf(str.charAt(i))+1).toUpperCase();
}
else {
newStr += al.charAt(al.indexOf(str.charAt(i))+1)
}
}
}
console.log(newStr);
}
LetterChanges("Argument goes here")

这会将以下内容返回到控制台:bshvnfou hpft ifsf

但是我需要返回的是:bshvnfOU hpft Ifsf

我不明白为什么我的 .toUpperCase() 不起作用。非常感谢您提供的任何帮助!

最佳答案

您的问题不是 toUpperCase() 不起作用,而是您的代码永远无法达到这一点。

你的

if (al.charAt(al.indexOf(str.charAt(i))+1) == vo.charAt(vo.indexOf(str.charAt(i))))

永远不会通过,因为+1。那里没有必要,如果删除它,就会出现大写元音。除此之外,您的代码还存在其他问题,但我会让您解决这些问题,作为挑战的一部分:-)

关于javascript - Coderbyte 挑战 4 : Letter Changes - Won't Upper Case,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19848785/

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