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 に答える