gpt4 book ai didi

javascript - 嵌套 for 循环仅执行一次外循环 Javascript

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

所以我编写了一些代码来解决欧拉项目有关回文的问题之一:

var isPalindrome = function(num){
var tempString = "";
for(i = String(num).length - 1; i >= 0; i--){
tempString += String(num)[i];
}
if(tempString === String(num)){
return true;
}
else{
return false;
}
};

var palindromes = [];
var inCount = 0;
var count = 0;
for(var i = 999; i > 99; i--){
inCount++;
for(var j = i; j > 99; j--){
count++;
if(isPalindrome(i*j)){
palindromes.push(i*j);
}
}
}
console.log(inCount);
console.log(count);
console.log(Math.max(palindromes));

经过一些测试,我发现代码只运行了一次外部 for 循环。这似乎是因为我在嵌套循环中调用 isPalindrome 函数。当我删除 if(isPalindrome()) 行时,嵌套的 for 循环将按其应有的方式执行。我对 Javascript 比较陌生,因此我们将不胜感激。

最佳答案

因为您从未在 isPalindrome 中声明 i,所以它使用后面的代码声明的全局 i(这看起来很奇怪)。请务必在函数内声明变量。

关于javascript - 嵌套 for 循环仅执行一次外循环 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41410728/

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