JSFiddle - React, Tailwind, and code Playground
JavaScript
var object = {
d: [
{
value: 1
}, {
value: 2
}, {
value: 3
}
]
};
setByPath(object, 'd.1.value', null);
setByPath(object, 'a.b.c', 123);
console.clear();
console.log(JSON.stringify(object, null, 4));
function setByPath(object, path, value) {
if (!(path && typeof path === 'string')) {
throw new Error('path is not valid');
}
path = path.split('.');
path.forEach(function (key, i) {
if (i < path.length - 1) {
if (!object.hasOwnProperty(key)) {
object[key] = {};
}
object = object[key];
} else {
object[key] = value;
}
});
}