for each-in文は、入れ子(ネスト)にして使うこともできる。
多次元の連想配列(単純なオブジェクト)の各要素の値に、何らかの処理を実行したいときに便利だ。
※2013/01/27現在、Firefoxでは動作を確認出来たが、ChromeやExplorer9では動作を確認できない。
構文
for each ( 変数 in オブジェクト ) {
繰り返し行う処理文
for each ( 変数 in オブジェクト ) {
繰り返し行う処理文
}
}
繰り返し行う処理文
for each ( 変数 in オブジェクト ) {
繰り返し行う処理文
}
}
サンプル
<script type="text/javascript">
var $obj = {
propA: {
propA: "値1-1",
propB: "値1-2",
propC: "値1-3"
},
propB: {
propA: "値2-1",
propB: "値2-2",
propC: "値2-3"
},
propC: {
propA: "値3-1",
propB: "値3-2",
propC: "値3-3"
}
};
for each ( var $propValA in $obj ) {
for each ( var $propValB in $propValA ) {
document . write( $propValB );
document . write( ', ' );
}
document . write( '<br />' );
}
</script>
var $obj = {
propA: {
propA: "値1-1",
propB: "値1-2",
propC: "値1-3"
},
propB: {
propA: "値2-1",
propB: "値2-2",
propC: "値2-3"
},
propC: {
propA: "値3-1",
propB: "値3-2",
propC: "値3-3"
}
};
for each ( var $propValA in $obj ) {
for each ( var $propValB in $propValA ) {
document . write( $propValB );
document . write( ', ' );
}
document . write( '<br />' );
}
</script>
↓↓↓出力結果↓↓↓
※2013/01/27現在、Firefoxでは動作を確認出来たが、ChromeやExplorer9では動作を確認できない。