在 for 循环中每两个块打印一次数字



我有以下循环:

for (let i=0; i<7; i+=2) {
for (let j=i; j<i+2; j++) {
console.log(j);
}
console.log('n');
}

如果我执行它,我会得到:

0
1
2
3
4
5
6
7

但它仅适用于偶数条件(0-7 = 8(,如果我改为输入 i<8,我会得到相同的结果:

0
1
2
3
4
5
6
7

这很糟糕,它必须在最后返回 8,但不会打印它。当条件甚至不是这样时,我希望我的结果:

0
1
2
3
4
5
6
7
8

我怎样才能实现它?感谢您的帮助。

您可以使用单个循环,并在打印值后为每个奇数值添加换行符。

for (let i = 0; i <= 8; i++) {
console.log(i);
if (i % 2) {
console.log('n');
}
}

虽然 Nina 的回答更好,但为了完整起见,我发布了您开始使用的代码的更正版本:

let n = 8;
for (let i=0; i<=n; i+=2) {
for (let j=i; j<i+2 && j <= n; j++) {
console.log(j);
}
console.log('n');
}

最新更新