Вы действительно близки, но обозначение в скобках не будет обрабатывать точки для вас (это не может быть - точки являются абсолютно допустимыми символами для имен свойств).Вы должны сделать это сами:
function set(path, change){
var privateObject = {
a: 'a',
b: 'b',
c: {
d: 'd',
e: 'e'
}
},
index,
parts,
obj;
parts = path.split(".");
obj = privateObject;
if (parts.length) {
index = 0;
while (index < parts.length - 1) {
obj = obj[parts[index++]];
}
obj[parts[index]] = change;
}
return privateObject;
}
Живая демоверсия
Я остановил это, это не гиперэффективно на старых двигателях, и я не удосужилсяИзучите режимы сбоев, но у вас есть идея: разделите путь, который вы указываете на точку, а затем используйте каждую компонентную часть страницы.