javascript: access object (array) por cadeia de notação de matriz
Eu gostaria de acessar o objeto fornecido apenas o seu caminho de seqüência de caracteres na forma de matriz é conhecido.
1.) existe um objeto, onde
root["obj1"]["obj2"] = 1;
(no caso comumroot["obj1"]...["objN"]
)
2.) Eu tenho apenas string objectPath conhecido:
var objectPath = 'root["obj1"]["obj2"]'
3.) Eu não preciso apenas ler o objeto, mas SET é o valor, como
objectPath = 2;
//so root["obj1"]["obj2"] === 2
Como eu entendo
pode haver algumas opções com eval (), mas obtém o valor, não a variável;
pode-se percorrer todos os objetos de root, fazer a conversão para "root.obj1.obj2" (que não é o caso, como "obj1" pode ser facilmente "obj with spaces1") e verificar se determinada string é igual ao objeto atual no loop.
Link Relacionado:Acessar propriedades filho do objeto usando uma cadeia de notação de ponto