gpt4 book ai didi

JavaScript 将字符串中的每个字母替换为字母表错误中紧随其后的字母

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:32:13 27 4
gpt4 key购买 nike

我试图用字母表中它后面的字母替换字符串中的每个字母。

例子:

a -> b  
b -> c
c -> d

等等。

function LetterChanges(str) {
for (var i = 0; i < str.length; i++) {
if (96 < str.charCodeAt(i) && str.charCodeAt(i) < 123) {
str = str.replace(str.charAt(i), String.fromCharCode(str.charCodeAt(i) + 1));
}
}
return str;
}

所以我测试了一些字符串输入,我在“cod”上出错,我的代码返回“epd”而不是“dpe”,有人可以帮我解决这个问题吗?

谢谢。

最佳答案

让我们看看代码将如何处理输入 cod:

  • 处理c,字母表中的下一个字母是d,将c替换为d,结果是dod
  • 处理o,字母表中的下一个字母是p,将o替换为p,结果是dpd
  • 处理d,字母表中的下一个字母是e,将d替换为e,结果是epd

您看到第 3 步的错误了吗? replace 以您使用的方式替换字母的第一次出现。一种解决方案是通过向其附加下一个字母来创建新字符串。例如:

var newString = '';
for (var i = 0; i < str.length; i++) {
if (96 < str.charCodeAt(i) && str.charCodeAt(i) < 123) {
newString += String.fromCharCode(str.charCodeAt(i) + 1);
}
}
return newString;

顺便说一下,您的代码还有一个细微的错误。如果您的字符串包含 z,它将被替换为 {。在这种情况下,您可能想回到字母表的开头并将其替换为 a

关于JavaScript 将字符串中的每个字母替换为字母表错误中紧随其后的字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33184447/

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