JSFiddle - React, Tailwind, and code Playground
JavaScript
var record = {
foo: {
bar: { baz: 0 }
},
qux: {
qaz: ''
}
};
assignProperty(record, "foo.bar.baz", 4);
assignProperty(record, "qux.qaz", "abc");
assignProperty(record, "foshizzle", 10);
console.log(record.foo.bar.baz);
console.log(record.qux.qaz);
console.log(record.foshizzle);
function assignProperty(obj, path, value) {
var props = path.split(".")
, i = 0
, prop;
for(; i < props.length - 1; i++) {
prop = props[i];
obj = obj[prop];
}
obj[props[i]] = value;
}