Javascript: Zugriff auf Objekt (Array) durch Array-Notationszeichenfolge
Ich möchte auf das Objekt zugreifen, sofern nur der String-Pfad in Form eines Arrays bekannt ist.
1.) es gibt ein Objekt, wo
root["obj1"]["obj2"] = 1;
(im allgemeinen Fallroot["obj1"]...["objN"]
)
2.) Ich habe NUR den String objectPath bekannt:
var objectPath = 'root["obj1"]["obj2"]'
3.) Ich muss nicht nur das Objekt LESEN, sondern auch seinen Wert wie SETZEN
objectPath = 2;
//so root["obj1"]["obj2"] === 2
Wie ich es verstehe
eval () enthält möglicherweise einige Optionen, erhält jedoch den Wert und nicht die Variable.
man kann alle Objekte von root durchlaufen, in "root.obj1.obj2" konvertieren (was nicht der Fall ist, da "obj1" leicht "obj with spaces1" sein kann) und prüfen, ob der angegebene String dem aktuellen Objekt in der entspricht Schleife.
Weiterführender Link:Greifen Sie auf untergeordnete Objekteigenschaften mit einer Punktnotationszeichenfolge zu