大家好我有这样的Json数据:
{"city_name": "A",
"members": [
{
"members_name": "Jonathan Doe",
"bod": "1980-01-20",
"job": "Accounting",
},
{
"members_name": "Lucy Dash",
"bod": "1976-01-20",
"job": "HR",
},
]
}
和javascript调用:
var res = info.city_name.filter(function(item){
return item.city_name =='City A';
});
console.log(res);
var HTML = '<span>'+res[0].city_name+'</span>';
$('#name').append(HTML)
HTML = '<span>'+res[0].members_name+'</span>';
$('#members').append(HTML);
我上面的js调用仍然使用行号值在html中打印,我想要做的是在一次调用中显示所有成员名称&#34;类似 res [i] .members_name 但它没有用。
感谢您的帮助
答案 0 :(得分:1)
var res = info.city_name.filter(function(item){
return item.city_name =='City A';
});
//add this
res[0].members_names = res[0].members.reduce( (acc, curr) => {
acc += ` ${curr.members_name} `
return acc;
}, '');
//Then you can use res[0].members_names to display all the members names
您需要迭代成员数组才能显示所有这些数组。也许添加一个新的属性members_names,这是所有成员名称的串联,并显示它将适合你。
答案 1 :(得分:1)
res.forEach(function(r){
var HTML = '<span>'+r.city_name+'</span>';
HTML += '<span>'+r.members_name+'</span>';
$('#members').append(HTML);
});
或
for(i=0;i<res.length;i++){
var HTML = '<span>'+res[i].city_name+'</span>';
HTML += '<span>'+res[i].members_name+'</span>';
$('#members').append(HTML);
}