查找下一个最大回文数的Javascript函数

查找下一个最大回文数的Javascript函数,javascript,Javascript,我想写一个函数,为给定的正整数找到下一个最大的回文。例如: Input: 2 Output: 3 (every single digit integer is a palindrome) Input: 180 Output: 181 Input: 17 Output: 22 我的尝试 函数下一个线程(num){ 让输入=num; 让numToStringArray=input.toString().split(“”); 设reversedArray=numToStringArray.rev

我想写一个函数,为给定的正整数找到下一个最大的回文。例如:

Input: 2
Output: 3 (every single digit integer is a palindrome)

Input: 180
Output: 181

Input: 17
Output: 22
我的尝试

函数下一个线程(num){
让输入=num;
让numToStringArray=input.toString().split(“”);
设reversedArray=numToStringArray.reverse();
if(numToStringArray.length<2){
返回编号(numToStringArray)+1;
}否则{
while(numToStringArray!==反向阵列){
//numToStringArray=num.toString().split(“”);
//reversedArray=numToStringArray.reverse();
num+=1;
}
返回numToStringArray.join(“”);
}
}
作为初学者,我认为numToStringArray将不断增加1,并检查while语句是否正确


不幸的是,事实并非如此。我在while语句中注释掉了两行,因为它们对我来说有些多余。感谢大家阅读甚至帮助我

代码不起作用的原因是没有任何代码更新while循环的条件。因此,如果输入一次,它将无限循环。您需要在while循环中执行一些操作,以便在下一次循环中使条件为false,如下所示:

函数getReverse(num){ //获取数字的倒数(正数形式) 让reversedNum=+Math.abs(num.toString().split(“”).reverse().join(“”); //保持负数为负数 如果(num<0){reversedNum*=-1;} 返回反向数; } 函数nextPalindrome(num){ //如果是个位数,只需返回下一个最高的整数 如果(数值>=-10&&num<9){ 返回num+1; } 否则{ while(num!==getReverse(num)){ num+=1; } 返回num; } } 控制台日志(nextPalindrome(3)); 控制台日志(nextPalindrome(17)); console.log(nextPalindrome(72)); console.log(nextPalindrome(180)); 控制台日志(nextPalindrome(1005)); 控制台日志(nextPalindrome(-150));
console.log(nextPalindrome(-10))没有代码正在更新while循环的条件。因此,如果输入一次,它将无限循环。您需要在while循环中执行一些操作,以便在下一次循环中使条件为false