首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对象变量属性未定义,即使它不是

对象变量属性未定义,即使它不是
EN

Stack Overflow用户
提问于 2021-08-12 21:36:26
回答 1查看 56关注 0票数 0

我试图使用变量读取json对象的属性。如果我使用变量,我得到错误,而如果我使用属性,它可以工作。

JSON:

代码语言:javascript
复制
{
  "homebrews": {
    "books": {
      "title": "text."
    },
    "cards": {
      "template": {
        "id": 0,
        "name": "myName"
      }
    }
  }
}

函数称为

代码语言:javascript
复制
createHomebrew('card');

函数:

代码语言:javascript
复制
function createHomebrew(type) {

  var homebrew;

  $.getJSON('/data-files/templateHomebrew.json', function(json) {

   var id = type + 's'; // cards

   homebrew = json.homebrews[id].template // json.homebrews[id] is undefined

  });

相反,

代码语言:javascript
复制
console.log(json.homebrews.cards.template); // Object { id: 0, name: "myName"}

EN

回答 1

Stack Overflow用户

发布于 2021-08-13 06:10:17

解决了,因为设置id = "cards"有效,由于某种原因,使用createHomebrew('card')调用的函数没有识别出卡为字符串,尽管console.log(typeof id)返回了字符串。所以我加入了id = id.toString();

代码语言:javascript
复制
function createHomebrew(type) {

  var homebrew;

  $.getJSON('/data-files/templateHomebrew.json', function(json) {

   var id = type + 's';
   id = id.toString();

   homebrew = json.homebrews[id].template

  });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68764446

复制
相关文章

相似问题

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