- 追加された行はこの色です。
- 削除された行はこの色です。
* 連想配列(オブジェクト) [#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