gpt4 book ai didi

javascript - Prime Factor Calculator JS - 找不到无限循环

转载 作者:行者123 更新时间:2023-11-30 12:16:33 25 4
gpt4 key购买 nike

所以我试图重新审视我解决问题的能力,并想重做我的质因数计算器。代码重构,更高效等,因为我是 JS 的初学者。

在重新创建它时,我遇到了一个相当大的问题 - 无限循环。现在,我将我的功能分解成不同的部分并分别调用它们——它们工作正常。 main 函数本身甚至可以正常工作,只要数字是 10 或更少。但出于某种原因,每当我调用参数大于 10 的函数时,就会出现无限循环。

如果答案显而易见,我很抱歉,现在已经很晚了。我似乎无法发现它。

纯代码在这里:

var findPrimeFactors = function (number) {

var isPrime = function (number) {
var primes = [];
for (i = 2; i < number; i++) {
if (number % i === 0) {
return false;
}
}
primes.push(number);
return primes;
};

var findFactors = function (number) {
var factors = [];
for (i = 2; i < number; i++) {
if (number % i === 0) {
factors.push(i);
}
}
return factors;
};

var factors = findFactors(number);
var primes = [];
for (i = 0; i < factors.length; i++) {
primes += isPrime(factors[i]);
}
return primes;
};

console.log(findPrimeFactors(10));

代码的 fiddle 在这里:https://jsfiddle.net/uk26q4ff/

谢谢大家!

最佳答案

您可能会遇到这个问题,因为在每个函数中您都没有声明 i,所以它是在全局范围内使用它。

关于javascript - Prime Factor Calculator JS - 找不到无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32291941/

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