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 respostas

Estou 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.

questionAnswers(3)

yourAnswerToTheQuestion