for循環有可能重複3次嗎?例如,JavaScript for-loop問題
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次嗎?例如,JavaScript for-loop問題
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(var i = 0, j = 0; i <= 5; i = Math.floor(++j/3)) {
// whatever
}
雖然,根據你想要的原因,可能有更好的方法。
我認爲你的終止條件應該測試'我<= 5'。 – 2011-04-18 23:05:40
謝謝!我現在改變了它。 – Ryan 2011-04-18 23:07:05
只需添加嵌套在第一第二循環:
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
}
}
您可以在兩個變量的for循環,並增加我只當j是爲3的倍數:
爲(I = 1,J = 0;我< = 5; I = ++Ĵ%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 (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);
這將打印0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5 。 – Marlon 2011-04-18 23:01:24
這將打印'0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5' – 2011-04-18 23:02:07
呃,抱歉,修正。 – yan 2011-04-18 23:02:44