JSFiddle - React, Tailwind, and code Playground
JavaScript
var obj = {
"foo": {
"bar": {
"baz": "cake"
},
"notbar": {
"another": "value"
}
}
}
var path = ["foo","bar","baz"];
var v = modify(obj, path); // getter
console.log(v);
modify(obj, path, 'val'); // setter
console.log(obj);
function modify(obj, path, val) {
var e = obj, l = path.pop();
path.forEach(function(x) { x in e ? e = e[x] : e; });
if (typeof val === 'undefined') return e[l];
e[l] = val;
return e;
}