Wie verweisen ich ein Objekt dynamisch?
-
05-07-2019 - |
Frage
In Javascript, ich habe ein Objekt:
obj = { one: "foo", two: "bar" };
Nun, ich möchte dies tun, tun
var a = 'two';
if(confirm('Do you want One'))
{
a = 'one';
}
alert(obj.a);
Aber natürlich funktioniert es nicht. Was ist der richtige Weg dynamisch von dem auf dieses Objekt sein würde?
Lösung
kurze Antwort: obj[a]
lange Antwort: obj.field
ist nur eine Abkürzung für obj["field"]
, für den speziellen Fall, in dem der Schlüssel ein konstanter String ohne Leerzeichen, Punkte ist, oder andere unangenehme Dinge. in Ihrer Frage, war der Schlüssel nicht konstant, so einfach die vollständige Syntax verwenden.
Andere Tipps
Wie folgt aus:
obj[a]
Als Randnotiz werden globale Variablen an das „Fenster“ Objekt angebracht ist, so können Sie tun,
var myGlobal = 'hello';
var a = 'myGlobal';
alert(window[a] + ', ' + window.myGlobal + ', ' + myGlobal);
Dies wird alarmieren "Hallo, hallo, hallo"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow