JavaScript: доступ к объекту (массив) по строке записи массива

Я хотел бы получить доступ к объекту, только если известен его строковый путь в виде массива.

1.) есть объект, где

root["obj1"]["obj2"] = 1;

(в общем случаеroot["obj1"]...["objN"])

2.) У меня есть ТОЛЬКО известная строка objectPath:

var objectPath = 'root["obj1"]["obj2"]'

3.) Мне нужно не только прочитать объект, но и установить его значение, как

objectPath = 2;
//so root["obj1"]["obj2"] === 2

Насколько я понимаю

может быть несколько опций с eval (), но он получает значение, а не переменную;

можно перебрать все объекты root, выполнить преобразование в «root.obj1.obj2» (это не так, поскольку «obj1» легко может быть «obj with space1») и проверить, равна ли данная строка текущему объекту в петля.

http://jsfiddle.net/ACsPn/

Ссылка по теме:Доступ к дочерним свойствам объекта с использованием строки нотации

Ответы на вопрос(1)

Ваш ответ на вопрос