オブジェクトを動的に参照するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/169731

  •  05-07-2019
  •  | 
  •  

質問

Javascriptにはオブジェクトがあります:

obj = { one: "foo", two: "bar" };

今、これをやりたい

var a = 'two';
if(confirm('Do you want One'))
{
  a = 'one';
}

alert(obj.a);

しかし、もちろん機能しません。このオブジェクトを動的に参照する正しい方法は何ですか?

役に立ちましたか?

解決

短い答え: obj [a]

長い答え: obj.field obj [" field"] の省略形です。キーがスペースのない定数文字列である特別な場合、ドット、またはその他の厄介なもの。あなたの質問では、キーは定数ではなかったので、単純に完全な構文を使用してください。

他のヒント

これに似ています:

obj[a]

補足として、グローバル変数は" window"に添付されます。オブジェクト、そうすることができます

var myGlobal = 'hello';
var a = 'myGlobal';
alert(window[a] + ', ' + window.myGlobal + ', ' + myGlobal);

これは、「こんにちは、こんにちは、こんにちは」と警告します

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top