使用javascript将数组转换为html表

使用javascript将数组转换为html表,javascript,html,arrays,Javascript,Html,Arrays,我有如下数组格式的数据。。。(示例一)这是一个数组..基于数据,我需要根据自定义条件生成一个html表。。。也就是说,表头将在第1天、第2天、第3天、第4天、第5天、第6天及以下,数组必须基于每个表头添加行的条件。。。我已提供详细资料供参考 var array= [{"day":1,"summary":"proge1"}, {"day":1,"summary":"proge2"}, {"day":1,"summary":"proge3"}, {"day":2,"su

我有如下数组格式的数据。。。(示例一)这是一个数组..基于数据,我需要根据自定义条件生成一个html表。。。也就是说,表头将在第1天、第2天、第3天、第4天、第5天、第6天及以下,数组必须基于每个表头添加行的条件。。。我已提供详细资料供参考

 var array=   [{"day":1,"summary":"proge1"},
    {"day":1,"summary":"proge2"},
    {"day":1,"summary":"proge3"},
    {"day":2,"summary":"Tues1"},
    {"day":2,"summary":"Tues2"},
    {"day":2,"summary":"Tues3"},
    {"day":3,"summary":"Wed1"},
    {"day":3,"summary":"Wed2"},
    {"day":3,"summary":"Wed3 "},
    {"day":4,"summary":"Thur1"},
    {"day":4,"summary":"Thur2"},
    {"day":5,"summary":"Fri1"},
    {"day":6,"summary":"Sat1"}]
我想根据这些数据生成一个html表,以便它显示如下..有人能建议我如何实现这一点

    <table>
     <tr>
                       <td align="center">Day1</td>
                        <td align="center">Day2</td>
                        <td align="center">Day3</td>
                        <td align="center">Day4</td>
                        <td align="center">Day5</td>
                        <td align="center"> Day6 </td>
        </tr>
     </table>    

我们需要为每个td调用函数(day)并根据值生成表吗?

因此您需要具有唯一值的数组:

var  newarray=[];
 array.forEach(function(el){
   for(var depth=0;depth<newarray.length;depth++){
       newarray[pos]=newarray[pos]||[];
       if(!newarray[pos][el.day-1]){//if the day isnt filled, day 1 is at position zero ( thats why -1)
          newarray[pos][el.day-1]=el;
          return;
       }
  }
});
现在,您可以循环槽并构建表:

table=newarray.map(function(row){
  var newrow="<tr>";
  newrow+=row.map(function(el){
        return "<td>"+el.summary+"</td>";
  }).join("");
 newrow+="</tr>";
 return newrow;
}).join("");//make string

我建议把你到目前为止已经尝试过的东西贴出来,这样我们就可以继续你的东西了。。。对不起,我不明白。。。。我们在哪里通过阵列。。。。要在此处获取新数组[]。。。。你能说得更具体些吗。。。很抱歉,如果我在Array.forEach中缺少某些内容。。。在原始数组上循环并创建一个新数组newarray。然后我用它构建了一个html字符串,它的名字是table。
newarray=[
   [{day:1 ...},{day:2}]
   [{day:1}]
];
table=newarray.map(function(row){
  var newrow="<tr>";
  newrow+=row.map(function(el){
        return "<td>"+el.summary+"</td>";
  }).join("");
 newrow+="</tr>";
 return newrow;
}).join("");//make string
 document.body.innerHTML=table;