javascript: accede al objeto (matriz) por cadena de notación de matriz
Me gustaría acceder al objeto siempre que se conozca la ruta de la cadena en forma de matriz.
1.) hay un objeto, donde
root["obj1"]["obj2"] = 1;
(en el caso comúnroot["obj1"]...["objN"]
)
2.) SÓLO tengo una cadena de objectPath conocida:
var objectPath = 'root["obj1"]["obj2"]'
3.) NO solo necesito LEER el objeto, sino que ESTABLECER su valor, como
objectPath = 2;
//so root["obj1"]["obj2"] === 2
Según entiendo
puede haber algunas opciones con eval (), pero obtiene el valor, no la variable;
uno puede recorrer todos los objetos de la raíz, hacer la conversión a "root.obj1.obj2" (lo que no es el caso, ya que "obj1" puede ser fácilmente "obj with spaces1") y verificar si la cadena dada es igual al objeto actual en el lazo.
Enlace relacionado:Acceda a las propiedades secundarias del objeto utilizando una cadena de notación de puntos.