* 連想配列(オブジェクト) [#s1d134d1]

 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()を使う。

** キーの存在を確認する [#o503bbf9]
 var obj = { key: undefiled };
 if ( "key" in obj ) {
  console.log("key exists");
 }
inを使う。 
*** 参考 [#u82cc280]
- http://stackoverflow.com/questions/1098040/checking-if-an-associative-array-key-exists-in-javascript



トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS