gpt4 book ai didi

javascript - 当单词不是回文时,Palindrome 函数返回 true

转载 作者:行者123 更新时间:2023-11-28 12:22:11 25 4
gpt4 key购买 nike

有人可以告诉我为什么“almostomla”在我的代码中返回 true 吗?

我已经搜索并看到有更简单的版本,但我对这段代码非常深入,现在我需要让它工作(如果可能的话)。请原谅那些糟糕的变量名,我很沮丧。

function palindrome(str) {
str = str.toLowerCase();
str = str.replace(/ /g, '').replace(/\./g, '').replace(/,/g, '');

for (var i = 0; i < str.length / 2; i++) {
for (var j = str.length - 1; j > str.length / 2 - 1; j--) {
var iDntKnow = str.charAt(i);
var iDntKnowEither = str.charAt(j);
if (iDntKnow === iDntKnowEither) {
return true;
} else {
return false;
}
}
}
}

感谢所有答案。

最佳答案

虽然我可以理解如果你投入了时间想要让某件事成功的挫败感,但也有一些话要说,从绘图板开始,不要让自己发疯。我发现您的代码的主要问题是,当您只需要一个循环时,您却有两个循环。第二个循环实际上是在破坏你。我建议运行一个调试器(在代码中输入“debugger”并运行)来看看原因。

我相信这就是您想要实现的目标:

var palindrome = function(str) {

// Put any additional string preprocessing here.

for(var i = 0; i < str.length/2; i++) {
var j = str.length-i-1;

if (str[i] != str[j]) {
return false;
}
}

return true;
}

通过这种方式,您可以比较字符串中的每个镜像元素,以确认该字符串是否是回文。

关于javascript - 当单词不是回文时,Palindrome 函数返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35588411/

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