【发布时间】:2020-09-19 20:36:40
【问题描述】:
我找到了解决这个问题的代码,但我无法弄清楚解决方案的逻辑。
let n = 10;
nextPrime:
for (let i = 2; i <= n; i++) {
for (let j = 2; j < i; j++) {
if (i % j == 0) continue nextPrime;
}
alert( i );
}
我不明白第二个 for 是如何工作的,如果它有一个像第一个一样的增量,那么结果应该是从 2 到 10 的所有数字,因为两个 for 的开头都是相同的数字 (2) 。 . 能否请您解释一下每次迭代,例如为什么不显示 4?
【问题讨论】:
-
关键在于
continue nextPrime的作用。 -
能否解释一下每次迭代,比如为什么不显示4?
-
当
i可被j整除时,continue nextPrime;语句退出内循环并继续进行外循环的下一次迭代。
标签: javascript numbers task