我想要这样的东西:
var myObj = {};
myObj["a"]["b"].push({"c":"d"});
我希望 myObj 变为:{"a":{"b":[{"c":"d"}]}}
但出现错误
无法设置未定义的属性“b”
是的,我知道我可以像这样一步一步地创建它:
var myObj={};
myObj["a"]={};
myObj["a"]["b"]=[];
myObj["a"]["b"].push({"c":"d"});
但是如果 myObj 已经有一些结构并且我不想破坏它怎么办。例如:
var myObj={"a":{"e":"f"}};
如果我写myObj["a"]={};
,我会丢失数据。
当然可以写
if(myObj["a"]==null){
myObj["a"]={}
}
但是它太笨重了!myObj["a"]["b"].push({"c":"d"});
如果我可以只写 smth而不在每一步都检查 null,那就太好了。
任何建议如何做到这一点?可能有一种方法可以覆盖 JS 原生 Object 或类似的东西吗?
先感谢您!