0

Javascriptオブジェクトに動的にアクセスしたい。

例:

example: { 
    name: "dev.pus", 
    year: 2012, 
    os: "linux" 
}

これは新しいことではありません。これで、通常、次のコマンドで「例」のプロパティにアクセスできます。

console.log(example.name);
// or
console.log(example.year);

しかし、属性を動的に取得したい場合はどうなりますか?たとえば、別の変数(ユーザーが設定したと仮定します)は、必要なプロパティを決定する必要があります。

var = "name";
console.log(example.var); // error
console.log(example[var]); // error

行く方法は何ですか?

4

1 に答える 1

3

変数名を変更すると、例が機能するはずです (var は予約済みです)。

var key = 'name';
console.log(example[key]);

オブジェクトを繰り返し処理して、すべてのキーを取得することもできます。

for (var item in example){
    if (example.hasOwnProperty(item)){
      console.log(example[item]);
    }
}  

http://jsfiddle.net/bC9XJ/

于 2012-07-10T07:42:52.373 に答える