您可以分割路径并检查以下元素是否存在。如果没有,则将对象分配给新属性。
然后返回该属性的值。
最后分配值。
function setValue(object, path, value) { path = path.replace(/[[]/gm, '.').replace(/[]]/gm, ''); //to accept [index] var keys = path.split('.'), last = keys.pop(); keys.reduce(function (o, k) { return o[k] = o[k] || {}; }, object)[last] = value;}var data = {};setValue(data, 'location.degree.text', 'sometexthere');console.log(data);


