i++
と++i
以外に、JavaScriptでループをfor
ループさせる方法はありますか?たとえば、1つではなく3つずつ増やしたいとします。forループのインクリメント/デクリメントを複数回行うことはできますか?
for (var i = 0; i < myVar.length; i+3) {
//every three
}
i++
と++i
以外に、JavaScriptでループをfor
ループさせる方法はありますか?たとえば、1つではなく3つずつ増やしたいとします。forループのインクリメント/デクリメントを複数回行うことはできますか?
for (var i = 0; i < myVar.length; i+3) {
//every three
}
+=
assignment operatorを使用します。
for (var i = 0; i < myVar.length; i += 3) {
技術的には、あなたがforループの最後の式の中で希望する任意の式を置くことができますが、通常、カウンタ変数を更新するために使用されます。
forループの各ステップの詳細については、check out the MDN articleを参照してください。
詳細をありがとうございました - より高度な表現を3番目のスロットに入れる方法があると確信していました。変数を定義する必要があることを忘れてしまったので、明らかに 'i + 3'は機能しません。 – brentonstrine
@brentonstrine:問題はありません。 –
for (var i = 0; i < 10; i=i+2) {
// code here
}
または 'for(var i = 0; i <10; i + = 2)'、 'i = i + 2'は' i + = 2'に等しいのでうれしいです – arximughal
for
ループ:
for(INIT; TEST; ADVANCE) {
BODY
}
は、次のことを意味します。
INIT;
while (true) {
if (!TEST)
break;
BODY;
ADVANCE;
}
あなたはINIT
、TEST
、ADVANCE
、およびBODY
のため、ほぼすべての式を書くことができます。
++i
はi+=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]
Andrew Whitakerの回答は真ですが、任意の部分に任意の式を使用できます。
ブール値true
またはfalse
と比較できるように、2番目(中間)の式を評価する必要があることを覚えておいてください。
私はfor
loopを使用する場合、私はあなたが確かに
var i = 0;
while(i < 10) {
/* expression */
++i;
}
ができていると
for (var i = 0; i < 10; ++i) {
/* expression */
}
と考えます。他の人は、あなたがi += 3
をする必要があることを正しく指摘しています。投稿したことはできません。ここでは、i + 3
を追加していますが、結果をi
に割り当てないためです。 i++
は、i = i + 1
の略語であり、同様にi +=3
は、i = i + 3
の省略形です。
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
?それとも、Javaだけですか? – CptJesus
いいえ、 'i ++'と '++ i'はforループ宣言で使われていると' i + = 1'に似ていますので、 'i + = 3'が動作します。 – elclanrs
'for'ループは何もインクリメントしません。 'for'ステートメントで使用されているコードが行います。それは、あなたが 'i'や他の変数を変更したい場合、how/if/where/whenをあなたに任せます。 –