Javascript 如何在和对象中显示对象数组
如果运行此代码:Javascript 如何在和对象中显示对象数组,javascript,arrays,object,Javascript,Arrays,Object,如果运行此代码: myObj={ “国家”:“美国”, “主席”:[{ “数字”:1, “副总统”:“约翰·亚当斯” }, { “数字”:2, “副总统”:“约翰·亚当斯” } ] }; var div1=document.createElement('div'); div1.setAttribute('id','test'); 文件.正文.附件(第1部分); 对于(myObj中的x){ document.getElementById(“test”).innerHTML++=myObj[x]+
myObj={
“国家”:“美国”,
“主席”:[{
“数字”:1,
“副总统”:“约翰·亚当斯”
},
{
“数字”:2,
“副总统”:“约翰·亚当斯”
}
]
};
var div1=document.createElement('div');
div1.setAttribute('id','test');
文件.正文.附件(第1部分);
对于(myObj中的x){
document.getElementById(“test”).innerHTML++=myObj[x]+“”;
}
请为此使用JSON.stringify()
。另外,为了使打印过程看起来更得体,请使用pre
标记而不是div
标记,以便保留格式
myObj={
“国家”:“美国”,
“主席”:[{
“数字”:1,
“副总统”:“约翰·亚当斯”
},
{
“数字”:2,
“副总统”:“约翰·亚当斯”
}
]
};
var div1=document.createElement('pre');
div1.setAttribute('id','test');
文件.正文.附件(第1部分);
document.getElementById(“test”).innerHTML+=JSON.stringify(myObj,null,4)代码>尝试使用以下代码
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;
这就是你想要的。请注意,我为您提供了多个实现,以便您可以选择您想要的:
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);
});
?您期望的输出是什么?请看你是否还没有。我猜预期结果会是:国家:美国总统:第一副总统约翰·亚当斯
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);
});
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);
var exp = '';
for (x in myObj) {
if(Array.isArray(myObj[x])){
exp += x + ": ";
myObj[x].forEach(function(obj , index){
for(var o in obj){
exp += o +" " + obj[o] + " ";
}
})
}else{
exp += x + ": " + myObj[x] + " \n"
}
}