Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用JSON数据创建html表?_Javascript_Jquery_Html_Json - Fatal编程技术网

Javascript 如何使用JSON数据创建html表?

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:

我想使用JSON数据制作表格格式。我有这样的JSON数据

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数据创建类似该表的想法。您的可能副本仅向我们显示了输出。请提供您尝试过的内容