連想配列(オブジェクト)var obj = { name : "taro", age : 10, sex : "man" }; for ( i in obj ) { console.log(i); // name, age, sex console.log(obj[i]); // taro, 10, man } console.log(obj.name); なお、普通にforを使うと、prototypeで設定されたプロパティも参照する。 Object.prototype.foo = function () {}; var obj = { name : "taro", age : 10, sex : "man" }; for ( i in obj ) { console.log(i); // name, age, sex, foo } これを回避するには、 for ( i in obj ) { if ( obj.hasOwnProperty(i) === true ) { console.log(i); // name, age, sex } } のようにhasOwnProperty()を使う。 キーの存在を確認するvar obj = { key: undefiled }; if ( "key" in obj ) { console.log("key exists"); } inを使う。 参考 |
|