说我有这个对象:
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";
那我该怎么办呢?
修改 哇我觉得自己没有把它弄清楚是愚蠢的......反正谢谢你们。
答案 0 :(得分:3)
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"};