小编ben*_*ben的帖子

js在属性赋值中构建对象路径

有没有办法在构造后在赋值中自动创建子对象,即

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)

javascript properties object

5
推荐指数
1
解决办法
1897
查看次数

标签 统计

javascript ×1

object ×1

properties ×1