こんな感じ。
var hoge = { a: 'paramA', b: 'paramB' }; for (var key in hoge) { if (hoge.hasOwnProperty(key)){ console.log(key + 'is property of hoge!'); } }
これだとループの中で毎回hoge.hasOwnProperty()が呼び出されるので、ちょっと遅くなってしまう。
そこで、Object.keys()の出番である。
Object.keys()は引数に渡したオブジェクトのプロパティだけを配列で返してくれる。
使い方はこんな感じ。
var hoge = { a: 'paramA', b: 'paramB' }; var hogeKeys = Object.keys(hoge); for (var i = 0, len = hogeKeys.length; i < len; i++) { console.log(hogeKeys[i] + 'is property of hoge!'); }
この方法だとループの中でhoge.hasOwnProperty()を呼ばなくていいからちょっと早い。
0 件のコメント:
コメントを投稿