Acessar dinamicamente propriedades do objeto (JS) [duplicado]
Esta pergunta já tem uma resposta aqui:
Acessar propriedades filho do objeto usando uma sequência de notação de ponto [duplicada] 13 respostasEstou tentando acessar uma propriedade de um objeto dinamicamente com uma seqüência de caracteres. Por exemplo: ".id.public" -> anyObject ["id"] ["public"]
O problema - não sei quantos argumentos tenho (por exemplo ".id" ou ".id.public" ou ".id.public.whatever".
Eu fiz uma pequena solução alternativa:
var currentSplit = anyObject;
var splitted = "id.public".split("\.");
splitted.forEach(function(s) { currentSplit = currentSplit[s]; });
Quando tento agora substituir a propriedade do objeto, substituirei a referência e não a propriedade do objeto.
currentSplit = "test";
Já tentei coisas comoanyObject["id.public"] = "test";
mas não funcionou.