有没有办法在构造后在赋值中自动创建子对象,即
var obj = {};
obj.a.b.c=13;
Run Code Online (Sandbox Code Playgroud)
上面给我一个"obj.a未定义"的错误
我写了一个函数来做这个,但想知道是否有一个更简单的方法
_setObjectProperty(obj,13,['a','b','c']);
function _setObjectProperty(obj,value,loc)
{
if(loc.length>1) {
obj[loc[0]] = obj[loc[0]] || {};
_setObjectProperty(obj[loc[0]],value,loc.splice(1));
}
else if(loc.length===1) {
obj[loc[0]]=value;
}
}
Run Code Online (Sandbox Code Playgroud)