首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在和对象中显示对象数组

如何在和对象中显示对象数组
EN

Stack Overflow用户
提问于 2018-08-13 16:05:51
回答 4查看 59关注 0票数 -1

如果您运行以下代码:

代码语言:javascript
复制
myObj = {
  "country": "USA",
  "president": [{
      "number": 1,
      "vice_president": "John Adams"
    },
    {
      "number": 2,
      "vice_president": "John Adams"
    }
  ]
};
var div1 = document.createElement('div');
div1.setAttribute('id', 'test');
document.body.appendChild(div1);
for (x in myObj) {
  document.getElementById("test").innerHTML += myObj[x] + " ";
}

您将看到如下结果: USA object Object,object Object

如何在myOBJ中显示总统数组的值?

结果应该是这样的:

国家:美国

主席:排名第一的vice_president约翰·亚当斯

EN

回答 4

Stack Overflow用户

发布于 2018-08-13 16:09:31

请使用JSON.stringify()完成此操作。此外,为了使打印过程看起来像样,请使用pre标记而不是div标记,以便保留格式!

代码语言:javascript
复制
myObj = {
  "country": "USA",
  "president": [{
      "number": 1,
      "vice_president": "John Adams"
    },
    {
      "number": 2,
      "vice_president": "John Adams"
    }
  ]
};
var div1 = document.createElement('pre');
div1.setAttribute('id', 'test');
document.body.appendChild(div1);
document.getElementById("test").innerHTML += JSON.stringify(myObj, null, 4);

票数 0
EN

Stack Overflow用户

发布于 2018-08-13 16:31:19

尝试使用下面的代码。

代码语言:javascript
复制
myObj = {
  "country": "USA",
  "president": [{
      "number": 1,
      "vice_president": "John Adams"
  },
  {
      "number": 2,
      "vice_president": "John Adams"
  }]
};
let output;
output = 'Country: ' + myObj.country + '<br/>';
for (let president of myObj.president) {
     output += 'President (no ' + president.number + '): ' + president.vice_president + '<br/>';
}
document.getElementById("test").innerHTML = output;

输出:

代码语言:javascript
复制
Country: USA
President (no 1): John Adams
President (no 2): John Adams
票数 0
EN

Stack Overflow用户

发布于 2018-08-13 16:50:20

这就是你想要的。请注意,我为您提供了多个实现,以便您可以选择您想要的:

代码语言:javascript
复制
   var myObj = {
      "country": "USA",
      "president": [{
         "number": 1,
          "vice_president": "John Adams"
      },
      {
         "number": 2,
         "vice_president": "John Adams"
      }
     ]
    };

    // If you want to loop over all your Obj first lever
    for(var k in myObj){
        console.log(k); // Your keys // country, president 
        // If you want loop over president array
        if (myObj[k] instanceof Array){
            var array_obj = myObj[k];
            array_obj.forEach(function(sub_item){
                for(var j in sub_item){
                    console.log('Key ', j);
                    console.log('Value ', sub_item[j]);
                }
            });
        }else{

        }
    }

    // If you want direct access to your array president
    var president = myObj['president'];

    president.forEach(function (item){
        console.log('Presedent Number: ' , item.number);
        console.log('Presedent Name: ', item.vice_president);
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51817782

复制
相关文章

相似问题

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