gpt4 book ai didi

javascript - 我在使用 javascript 中的回文函数时遇到问题

转载 作者:行者123 更新时间:2023-11-27 23:09:18 24 4
gpt4 key购买 nike

这是我的代码: 该函数适用于输入:“眼睛”、“赛车”、“不是回文”、“一个人、一个计划、一条运河。巴拿马”、“从不奇数或偶数”...但是,当输入为“almostomala”时,它会返回“true”。有人可以解释一下为什么吗?

function palindrome(str) {

var newStr = str.replace(/[^0-9a-zA-Z]/g, '');
newStr = newStr.replace(/\s+/g, '');
newStr = newStr.toLowerCase();
var arr = newStr.split('');
var arr2 =[];

for(x = 0; x < arr.length; x++){
arr2.push(arr[arr.length-1-x]);
}

for(y = 0; y < arr.length; y++){
if(arr[y] == arr2[y]){
return true;
}
else{
return false;
}
}

}

palindrome("almostomla");

最佳答案

您仅检查最后一个 for 循环中的第一个和最后一个字符。

for(y = 0; y < arr.length; y++){
if(arr[y] == arr2[y]){ //if first and last chars equal you are returning true.
return true;
}
else{
return false;
}
}

您应该检查所有字符,直到出现差异或结束。

for(y = 0; y < arr.length; y++){
if(arr[y] != arr2[y]){
return false;
}
}

return true; --that means two arrays are same.

关于javascript - 我在使用 javascript 中的回文函数时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36307891/

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