2

假设我有这个对象:

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";

那么我能做些什么呢?

编辑 哇,我觉得自己没有弄清楚这一点很愚蠢......无论如何,谢谢你们。

4

1 回答 1

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"};
于 2012-08-13T20:18:04.483 回答