次のコードはまったく同じことをします。 for each
とfor (... in ...)
の間に違いはありますか?AS3 - for(... in ...)対(... in ...)
var bar:Array = new Array(1,2,3);
for (var foo in bar){
trace(foo);
}
for each (var foo2 in bar){
trace(foo2);
}
次のコードはまったく同じことをします。 for each
とfor (... in ...)
の間に違いはありますか?AS3 - for(... in ...)対(... in ...)
var bar:Array = new Array(1,2,3);
for (var foo in bar){
trace(foo);
}
for each (var foo2 in bar){
trace(foo2);
}
いいえ、彼らはないはまったく同じことをしますか。
each..inループのためのあなたの出力はて
1
2
3
にfor..inループを反復処理ですが、あなたにfor..inループの出力は
0
1
2
ですキー/インデックスまたはオブジェクトのプロパティ名。 each..inループのAは、値を反復します。
bar[0] = 1;
bar[1] = 2;
bar[2] = 3;
ここでは混乱のいくつかは、あなたの配列に番号を使用していることである:あなたのbar
配列は、このように構成されているので、あなたは、上記の結果を取得します。文字列に切り替えて何が起こるか見てみましょう。
var bar:Array = new Array("x", "y", "z");
for (var foo in bar){
trace(foo);
}
for each (var foo2 in bar){
trace(foo2);
}
今、あなたの出力は次のとおりです。オーバー
0
1
2
x
y
z
あなたが見ることができるように、用インインデックス(またはキー)を超えるループ、のfor-each-でループ値。
「for(... in ...)vs for each(... in ...)」のような他の類似したアイテム – BoltClock