gpt4 book ai didi

javascript - 回文程序避免 Javascript 中的空格、标点符号

转载 作者:行者123 更新时间:2023-12-02 16:44:06 31 4
gpt4 key购买 nike

我正在尝试使用javascript制作一个回文程序,即使字符串有标点符号和空格,它也会通过TRUEFALSE显示字符串是否是回文(前女士,我是亚当)。但每次我输入一个字符串时,无论字符串是什么,我都只会得到 TRUE 。这是我的代码,

function isPalindrome (str) {
var nopunctuation = str.replace(/[\.,-\/#!$%\^&\*;:{}=\-_`~()]/g,"");
var nospaces = nopunctuation.replace(/\s/g,"");
var finalstring = nospaces;

var len = finalstring.length;
for ( var i = 0; i < Math.floor(finalstring/2); i++ ) {
if (finalstring[i] !== finalstring[len - 1 - i]) {
return false;
}
}
return true;
}

console.log(isPalindrome("madam i'm adam"));

我的代码有什么问题吗?需要注意的是,我不允许使用任何内置函数或库函数。您的帮助将非常感激。交易。

最佳答案

在“for”子句中,将“Math.floor(finalstring/2)”替换为“Math.floor(len/2)”

此外,您可能希望改进标点符号删除功能,例如,它也可以删除撇号。

因此您的代码将变为以下内容:

function isPalindrome (str) {
var nopunctuation = str.replace(/\W/g,"");
var nospaces = nopunctuation.replace(/\s/g,"");
var finalstring = nospaces;

var len = finalstring.length;
for ( var i = 0; i < Math.floor(len/2); i++ ) {
if (finalstring[i] !== finalstring[len - 1 - i]) {
return false;
}
}
return true;
}

关于javascript - 回文程序避免 Javascript 中的空格、标点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27250163/

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