的子屬性我想是這樣的:JS:動態創建不存在財產
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"});
那樣寫出像沒有檢查每一步中的空值那將是非常好的。
任何建議如何做到這一點?可能有一種方法來重寫JS本地對象或像這樣的嗎?
預先感謝您!
你可以簡化檢查 - >'MyObj中[ 「一」] = MyObj中[ 「一」] || {}' – C5H8NNaO4