gpt4 book ai didi

javascript - 尝试创建一个考虑空格的回文函数

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

好吧,回文是一个反向拼写相同的单词。如果我们想把一个同样的短语倒过来怎么办?所以 kook 就是其中之一。 赛车是另一辆。

所以我做了一个不占空间的。

function isPal(string){
var l = string.length;
for (var i = 0; i < (l/2); ++i) {
if (string.charAt(i) != string.charAt(l - i - 1)){
return false;
}
}
return true;
}

这个对于单词来说效果很好。

现在我在想,将字符串插入一个数组,并将每个字符分割成它自己的字符串,然后删除所有空格,然后运行 ​​if (string.charAt(i) != string.charAt (string.length - i - 1))。所以这是我写的但失败了..

function isPalindrome(string){
var arr = [];
arr.push(string.split(''));
for (i = 0; i < arr.length; i++){
if (arr[i] === ' '){
arr.splice(i, 1);

如果我返回arr,它仍然会给我带有空格的字符串。我该如何实现这个目标?谢谢!

编辑:使用了该解决方案,但在“赛车”上仍然出现错误这是我得到的:

function isPalindrome(string){
var arr = string.split('');
for (i = 0; i < arr.length; i++){
if (arr[i] === ' '){
arr.splice(i, 1);
} else if (arr[i] != arr[arr.length - i - 1]){
return false;
}
}
return true;
}

我的错误在哪里?

最佳答案

您的问题在以下行中:

arr.push(string.split(''));

string.split('') 返回一个数组。所以, arr 实际上是一个数组,其中有一个条目(另一个包含字符的数组)。替换:

var arr = [];
arr.push(string.split(''));

var arr = string.split('');

它应该按预期工作

关于javascript - 尝试创建一个考虑空格的回文函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39988145/

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