私は最近問題に遭遇しました:
次のようにコードコードをコピーします。
var obj = {"name1": "zhang san"、 "name2": "li si"};
var key = "name1";
var value = obj.key; //「未定義」を取得します
value = obj.name1; //「Zhang San」を取得します
実際、キーに値を動的に割り当ててから、キーの値をそのまま取得したいと思います。しかし、このアプローチは機能しません。
それで、私はJSでオブジェクトのプロパティを通過する方法を考えました:
次のようにコードコードをコピーします。
function printobject(obj){
// obj = {"cid": "c0"、 "ctext": "地区と郡"};
var test = "" ;;
for(bar i in obj){// for/inのjavascriptを使用してオブジェクトのプロパティをループする
temp+= i+":"+obj [i]+"/n";
}
アラート(TEMP); //結果:CID:C0/N CTEXT:地区と郡
}
このようにして、JSのオブジェクトのキーと値がそれぞれそれぞれ何であるかを明確に知ることができます。
今すぐ質問に戻って、キーに値を動的に割り当ててから、obj.keyで対応する値を取得する方法は?
実際、上記のPrintObjectにはプロンプトがあります。つまり、OBJ [Key]メソッドが使用されます。キーは動的である可能性があり、上で提起した問題を解決します。
最後に、実行できる別の方法、つまりeval( "obj。"+key)があります。
要約:
JSの動的キーに基づいて、特定のオブジェクトに対応する値を取得するには、2つの方法があります。
1。varkey = "name1"; var value = obj [key];
2。varkey = "name1"; var value = eval( "obj。"+key);