JavaScript for循环问题

| for循环是否可以重复3次?例如,
for (i=0;i<=5;i++)
创建此:1,2,3,4,5。 我想创建一个执行此操作的循环:1,1,1,2,2,2,3,3,3,4,4,4,5,5,5 那可能吗?
已邀请:
 for (i=1;i<=5;i++)
     for(j = 1;j<=3;j++)
         print i;
是的,只需将循环包装在另一个循环中:
for (i = 1; i <= 5; i++) {
   for (lc = 0; lc < 3; lc++) {
      print(i);
  }
}
(您的原始代码说您想要1-5,但是您从0开始。我的示例从1开始)
您可以在for循环中使用两个变量,并且仅当j为3的倍数时才增加i: 对于(i = 1,j = 0; i <= 5; i = ++ j%3!= 0?i:i + 1)
绝对是您可以嵌套循环:
for (var i = 1; i < 6; ++i) {
    for(var j = 0; j < 3; ++j) {
        print(i);
    }
}
请注意,问题中的代码将显示
0, 1, 2, 3, 4, 5
,而不是
1, 2, 3, 4, 5
。我已解决该问题,以使其与您的回答相符。
只需添加嵌套在第一个循环中的第二个循环:
for (i = 0; i <= 5; i++)
    for (j = 0; j < 3; j++)
        // do something with i
您可以使用嵌套的循环
for (var i=0;i<5; i++) {
  for (var j=0; j<3; j++) {
   // output i here
  }
}
您可以在循环中使用两个变量:
for (var i=1, j=0; i<6; j++, i+=j==3?1:0, j%=3) alert(i);
但是,通过查看代码的作用并不太明显。您最好将一个循环嵌套在另一个循环中会更好:
for (var i=1; i<6; i++) for (var j=0; j<3; j++) alert(i);
我看到了很多有关嵌套循环的答案(显然是最好的,也是最容易理解的解决方案),然后有一些答案是一个循环和两个变量,尽管令人惊讶的是没有人提出一个循环和一个变量。所以只是为了练习:
for(var i=0; i<5*3; ++i)
   print( Math.floor(i/3)+1 );
如果您确实只想要一个循环,则可以使用第二个变量,例如:
for(var i = 0, j = 0; i <= 5; i = Math.floor(++j / 3)) {
     // whatever
}
尽管根据您想要这样做的原因,可能有更好的方法。

要回复问题请先登录注册