首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将值设置为不存在的对象

将值设置为不存在的对象
EN

Stack Overflow用户
提问于 2012-08-13 20:15:52
回答 1查看 726关注 0票数 2

假设我有一个目标:

代码语言:javascript
运行
复制
test = {
    testObj: {
        "1": {
            "key": "value"
        }
    }
}

我想向testObj添加如下的值:

代码语言:javascript
运行
复制
test.testObj["2"].key = "my value";

我得到了错误TypeError: Cannot set property 'key' of undefined

现在我确实了解到key还不存在,但是2也不存在,但是我可以为它设置值:

test.testObj["2"] = "something";

那我能做什么呢?

编辑哇,我觉得自己不知道这点很蠢.不管怎样,谢谢你们。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-13 20:18:04

Javascript不知道在这个场景中应该是什么test.testObj["2"],所以它最终将它作为一个现有属性进行测试:

代码语言:javascript
运行
复制
test.testObj["2"].key = "my value";

赋值只能应用于左边结构的最后一部分。

但是,您可以通过首先创建对象来告诉它是什么:

代码语言:javascript
运行
复制
test.testObj["2"]={};
test.testObj["2"].key = "my value";

或者一步一步:

代码语言:javascript
运行
复制
test.testObj["2"] = { key: "my value"};
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11941619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档