假设我有一个目标:
test = {
testObj: {
"1": {
"key": "value"
}
}
}
我想向testObj
添加如下的值:
test.testObj["2"].key = "my value";
我得到了错误TypeError: Cannot set property 'key' of undefined
现在我确实了解到key
还不存在,但是2
也不存在,但是我可以为它设置值:
test.testObj["2"] = "something";
那我能做什么呢?
编辑哇,我觉得自己不知道这点很蠢.不管怎样,谢谢你们。
发布于 2012-08-13 12:18:04
Javascript不知道在这个场景中应该是什么test.testObj["2"]
,所以它最终将它作为一个现有属性进行测试:
test.testObj["2"].key = "my value";
赋值只能应用于左边结构的最后一部分。
但是,您可以通过首先创建对象来告诉它是什么:
test.testObj["2"]={};
test.testObj["2"].key = "my value";
或者一步一步:
test.testObj["2"] = { key: "my value"};
https://stackoverflow.com/questions/11941619
复制