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ループで数値を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 ループで 2 つの変数を使用し、j が 3 の倍数の場合にのみ i を増やすことができます。
for (i=1, j=0; i <= 5; i = ++j % 3 != 0 ? i : i + 1)
絶対。for ループをネストできます。
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
。回答の説明と一致するように修正しました。
次のように、本当に1 つのループだけが必要な場合は、2 番目の変数を使用できます。
for(var i = 0, j = 0; i <= 5; i = Math.floor(++j / 3)) {
// whatever
}
ただし、これが必要な理由によっては、おそらくより良い方法があります。
最初のループにネストされた 2 番目のループを追加するだけです。
for (i = 0; i <= 5; i++)
for (j = 0; j < 3; j++)
// do something with i
ネストされた for ループを使用できます
for (var i=0;i<5; i++) {
for (var j=0; j<3; j++) {
// output i here
}
}
ループでは 2 つの変数を使用できます。
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);
入れ子になったループ (明らかに最も素晴らしく、最も理解しやすい解決策) に関する多くの回答と、1 つのループと 2 つの変数に関する回答がいくつか見られますが、驚くべきことに、1 つのループと 1 つの変数を提案した人は誰もいませんでした。したがって、演習のために:
for(var i=0; i<5*3; ++i)
print( Math.floor(i/3)+1 );