Javascript 如何使用JSON数据创建html表?
我想使用JSON数据制作表格格式。我有这样的JSON数据Javascript 如何使用JSON数据创建html表?,javascript,jquery,html,json,Javascript,Jquery,Html,Json,我想使用JSON数据制作表格格式。我有这样的JSON数据 var jsondata = [ { id: 1, name: 'Mani', subject: English, Score: 88 }, { id: 1, name: 'Mani', subject: Maths, Score: 65 }, { id:
var jsondata = [
{
id: 1,
name: 'Mani',
subject: English,
Score: 88
},
{
id: 1,
name: 'Mani',
subject: Maths,
Score: 65
},
{
id: 2,
name: 'Ram',
subject: English,
Score: 75
},
{
id: 3,
name: 'Kumar',
subject: English,
Score: 15
},
{
id: 3,
name: 'Kumar',
subject: science,
Score: 88
}];
在这个数据中,我想改变这种格式。我不能附上截图图像,所以请检查下面的输出代码。与输出相同,只是我需要使用javascript
身份证件
名称
英语
数学
科学
1.
马尼
88
65
-
2.
内存
75
-
-
3.
古玛
18
-
88
var jsondata=[{id:1,名称:“Mani”,科目:“英语”,分数:88},{id:1,名称:“Mani”,科目:“数学”,分数:65},{id:2,名称:“Ram”,科目:“英语”,分数:75},{id:3,名称:“Kumar”,科目:“英语”,分数:15},{id:3,名称:“Kumar”,科目:“科学”,分数:88};
var headers=[“Id”,“Name”,…jsondata.map(d=>d.subject).filter((item,pos,self)=>self.indexOf(item)==pos)];
var data=Object.values(jsondata.reduce)(函数(映射,项){
map[item.id]=map[item.id]| |{};
映射[item.id].id=item.id;
映射[item.id].name=item.name;
map[item.id][item.subject]=item.Score;
返回图;
}, {}));
函数buildHtmlTable(选择器){
var columns=addAllColumnHeaders(标题、选择器);
对于(变量i=0;i
您这样尝试吗
var jsondata = [
{
id: 1,
name: 'Mani',
subject: English,
Score: 88
},
{
id: 1,
name: 'Mani',
subject: Maths,
Score: 65
},
{
id: 2,
name: 'Ram',
subject: English,
Score: 75
},
{
id: 3,
name: 'Kumar',
subject: English,
Score: 15
},
{
id: 3,
name: 'Kumar',
subject: science,
Score: 88
}];
HTML
<div id="result"></div>
JAVASCRIPT
var jsondata = [
{
id: 1,
name: 'Mani',
subject: 'English',
Score: 88
},
{
id: 1,
name: 'Mani',
subject: 'Maths',
Score: 65
},
{
id: 2,
name: 'Ram',
subject: 'English',
Score: 75
},
{
id: 3,
name: 'Kumar',
subject: 'English',
Score: 15
},
{
id: 3,
name: 'Kumar',
subject: 'science',
Score: 88
}
]
var obj = jsondata;
var result = {};
var fields = ['id','name'];
for(var x=0 ;x<obj.length ; x++){
var e = obj[x];
if(result[e.id]==undefined){
result[e.id]={
id : e.id,
name : e.name,
// e.subject : e.score
};
}
fields.push(e.subject);
result[e.id][e.subject] = e.Score;
}
fields = fields.filter((v, i, a) => a.indexOf(v) === i);
var html = '<table>';
html +='<tr>';
for(var c=0;c<fields.length ; c++){
html +='<th>'+fields[c]+'</th>';
}
html +='</tr>'
for(var index in result) {
html +='<tr>';
var attr = result[index];
// console.log(attr);
for(var x = 0; x< fields.length; x++){
html +='<td>';
if(attr[fields[x]] == undefined){
html += '---';
}else{
html += attr[fields[x]];
}
html +='</td>';
}
html +='</tr>';
}
html +='</table>';
document.getElementById('result').innerHTML = html;
var jsondata=[
{
id:1,
名称:“马尼”,
主题:"英语",,
分数:88
},
{
id:1,
名称:“马尼”,
科目:"数学",,
得分:65
},
{
id:2,
名称:“Ram”,
主题:"英语",,
分数:75
},
{
id:3,
名称:“库马尔”,
主题:"英语",,
分数:15
},
{
id:3,
名称:“库马尔”,
主题:"科学",,
分数:88
}
]
var obj=jsondata;
var result={};
变量字段=['id','name'];
对于(var x=0;xa.indexOf(v)==i);
var html='';
html+='';
对于(var c=0;cW这是您的javascript代码?请根据我想要生成javascript代码的输出检查下面的html表输出。请给出如何使用json数据创建类似该表的想法。您的可能副本仅向我们显示了输出。请提供您尝试过的内容