オブジェクトのプロパティを順に処理したい。
それなら、for~in文があります。
for~inの構文
構文はこんな感じ。
1 2 3 |
for (変数 in オブジェクト){ //ここにループで実行する処理を書く } |
ループの度に、変数の中にオブジェクトのプロパティが順に格納されます。
ループ中の処理の中で、変数に格納されたプロパティを参照できます。
for~in文の使用例
次の例では、コーヒーのメニューの1つをobjMenuに格納し、ループ処理の中で順に変数に追記していきます。
最後にconsole.logで出力です。
1 2 3 4 5 6 |
var objMenu = {type: 'Hot Coffees', drink: 'Caffe Mocha', price: 500}; var strText = ''; for (var name in objMenu){ strText += name + ':' + objMenu[name] + '</br>\n'; } console.log(strText); |
実行結果:
type:Hot Coffees</br>
drink:Caffe Mocha</br>
price:500</br>
この例で、nameにはプロパティが入り、objMenu[name]にプロパティの値が入ることが分かると思います。
まとめ:for~in文
for文と少し似ているfor~in文。
ループする回数が決まっていればfor文で、オブジェクトを扱うならfor~in文です。
わりと他の言語にもあるので、覚えておきたい処理の1つですね。