gpt4 book ai didi

检查数字是否为回文的Javascript函数

转载 作者:行者123 更新时间:2023-12-05 03:51:42 26 4
gpt4 key购买 nike

我通读了这里发布的一些回文问题,但不幸的是找不到解决我的问题的方法。我正在努力实现的一个例子:

Input: 989
Output: "It's a palindrome"

Input: 23
Output: "Not a palindrome"

Input: 9
Output: "It's a palindome" (any single digit)

我的尝试

function Palindrome(num) { 

let numToStringArray = num.toString().split('');
let reversedArray = numToStringArray.reverse();


if (num.toString().length<2) {
return "It's a palindrome"
}
else {
for (let i = 0; i<numToStringArray; i++;) {
if (numToStringArray[i] !== reversedArray[i]) {
return "It's not a palindrome"
}
else {
return "It's a palindrome"
}
}
}
}

调用时,该函数仅适用于单个数字字符串。我试图修复我的 for 循环,因为我觉得问题出在以下行中:

 if (numToStringArray[i] !== reversedArray[i])

但无法提出可行的解决方案。感谢您阅读甚至帮助我!

最佳答案

我发现了几个问题...

首先,您不希望在循环定义中的 i++ 之后有 ;。至少在 jsFiddle 中,这会导致语法错误。其他环境可能更宽容,但值得修复。

二、循环条件错误:

i < numToStringArray

应该是:

i < numToStringArray.length

第三,循环的逻辑有点破。如果第一对匹配,您将立即返回“这是一个回文”。所以按照这个逻辑“1231”是一个回文。相反,只有当您发现它不是回文时才在循环内返回。如果循环完成但没有返回,则返回它是一个回文:

for (let i = 0; i < numToStringArray.length; i++) {
if (numToStringArray[i] !== reversedArray[i]) {
return "It's not a palindrome";
}
}
return "It's a palindrome";

关于检查数字是否为回文的Javascript函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62697828/

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