JavaScriptのことで、気になったことがあったので書きます。さっきまで、そのせいで止まってました。
オブジェクトを格子状にした時、どうやって子のオブジェクトを
取得するか。
例えば、こんなオブジェクトがあったとします。
var data = {
"mobile" : {
"title" : "モバイル",
}
"web" : {
"title" : "ウェブ",
}
}
まあこれはjsonデータっぽいのです。たまたまこうなっちゃいました。prototypeと似てますよね。
これを、ループで取得したい場合です。
例えば、
mobile – モバイル
web – ウェブ
の様に。
まず一瞬思いつくのはforでlength分、回すことでしょうか。しかしながら、オブジェクト型はlengthが反映できません。もしかしたら出来るかもですが、探しても出て来なかった。
次にfor inを考えますね。これは、検索してたら出てきましたw
それで、やってみたら。
for(obj in data) {
console.log(obj);
}
結果:
mobile
web
と出ます。一瞬「いけた!」と思ったわけですが、取得できていたのは文字列だけ。
titleも出したいんだけど、obj.titleでは出ない・・・
それで閃いた結果が↓
for(obj in data) {
console.log(obj);
console.log(data.obj.title);
}
結果:
mobile
モバイル
web
ウェブ
と、出来ました!多分みなさんこんなこと無いと思いますけど・・・一応共有します。
ではではー。
コメント