gpt4 book ai didi

javascript - 虽然循环没有正确停止

转载 作者:行者123 更新时间:2023-12-04 08:00:31 24 4
gpt4 key购买 nike

我正在尝试创建一个简单的斐波那契数列程序。当条件满足时,我的 while 循环没有正确停止。例如,当 num=10 时,我的 while 循环直到 counter===13 才结束。我对 while 循环有什么误解吗?

let counter = 2; 
let sum = [1,1];
let i = 1;
let num = 10;

while(counter<num) {
counter=sum[i-1]+sum[i];
sum.push(counter);
i++;
console.log(counter + ' ' + num);
}

最佳答案

像这样设置一个小测试有助于可视化正在发生的事情。

let counter = 2;
let sum = [1, 1];
let i = 1;
let num = 10;

while (counter < num) {
counter = sum[i - 1] + sum[i];
sum.push(counter);
i++;
console.log(
`counter: ${counter}, i: ${i}, num: ${num}, sum: ${sum}, counter < num: ${
counter < num
}`
);
}

如果您这样做,您将看到以下内容:

counter: 2, i: 2, num: 10, sum: 1,1,2, counter < num: true 
counter: 3, i: 3, num: 10, sum: 1,1,2,3, counter < num: true
counter: 5, i: 4, num: 10, sum: 1,1,2,3,5, counter < num: true
counter: 8, i: 5, num: 10, sum: 1,1,2,3,5,8, counter < num: true
counter: 13, i: 6, num: 10, sum: 1,1,2,3,5,8,13, counter < num: false

当检查条件且结果为假时,循环将退出。因此,计数器实际上会在上次条件为真后发生变化。当counter等于13时,条件不再成立,再次检查后退出循环。

关于javascript - 虽然循环没有正确停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66501410/

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