2012-10-09 7 views
65

i++++i以外に、JavaScriptでループをforループさせる方法はありますか?たとえば、1つではなく3つずつ増やしたいとします。forループのインクリメント/デクリメントを複数回行うことはできますか?

for (var i = 0; i < myVar.length; i+3) { 
    //every three 
} 
+4

?それとも、Javaだけですか? – CptJesus

+1

いいえ、 'i ++'と '++ i'はforループ宣言で使われていると' i + = 1'に似ていますので、 'i + = 3'が動作します。 – elclanrs

+1

'for'ループは何もインクリメントしません。 'for'ステートメントで使用されているコードが行います。それは、あなたが 'i'や他の変数を変更したい場合、how/if/where/whenをあなたに任せます。 –

答えて

144

+=assignment operatorを使用します。

for (var i = 0; i < myVar.length; i += 3) { 

技術的には、あなたがforループの最後の式の中で希望する任意の式を置くことができますが、通常、カウンタ変数を更新するために使用されます。

forループの各ステップの詳細については、check out the MDN articleを参照してください。

+0

詳細をありがとうございました - より高度な表現を3番目のスロットに入れる方法があると確信していました。変数を定義する必要があることを忘れてしまったので、明らかに 'i + 3'は機能しません。 – brentonstrine

+0

@brentonstrine:問題はありません。 –

7
for (var i = 0; i < 10; i=i+2) { 
     // code here 
    }​ 
+0

または 'for(var i = 0; i <10; i + = 2)'、 'i = i + 2'は' i + = 2'に等しいのでうれしいです – arximughal

7

forループ:

for(INIT; TEST; ADVANCE) { 
    BODY 
} 

は、次のことを意味します。

INIT; 
while (true) { 
    if (!TEST) 
     break; 
    BODY; 
    ADVANCE; 
} 

あなたはINITTESTADVANCE、およびBODYのため、ほぼすべての式を書くことができます。

  • ++ii+=1; return i
  • を意味します

    ++事業者や変異体は副作用(1あなたはi+=1などのようにそれらを使用していない場合は、それらを回避しようとしてください)と演算子であることに注意してください。

    i++oldI=i; i+=1; return oldI

例を意味し、

> i=0 
> [i++, i, ++i, i, i--, i, --i, i] 
[0, 1, 2, 2, 2, 1, 0, 0] 
5

Andrew Whitakerの回答は真ですが、任意の部分に任意の式を使用できます。
ブール値trueまたはfalseと比較できるように、2番目(中間)の式を評価する必要があることを覚えておいてください。

私はfor loopを使用する場合、私はあなたが確かに

var i = 0; 
while(i < 10) { 
    /* expression */ 
    ++i; 
} 
1

ができていると

for (var i = 0; i < 10; ++i) { 
    /* expression */ 
} 

と考えます。他の人は、あなたがi += 3をする必要があることを正しく指摘しています。投稿したことはできません。ここでは、i + 3を追加していますが、結果をiに割り当てないためです。 i++は、i = i + 1の略語であり、同様にi +=3は、i = i + 3の省略形です。

0
for (var i = 0; i < myVar.length; i+=3) { 
    //every three 
} 

追加カントは、あなただけの第三引数に= I + 3を私に置き換え

Operator Example Same As 
    ++  X ++  x = x + 1 
    --  X --  x = x - 1 
    +=  x += y  x = x + y 
    -=  x -= y  x = x - y 
    *=  x *= y  x = x * y 
    /=  x /= y  x = x/y 
    %=  x %= y  x = x % y 
関連する問題