制作桌子和它';通过JavaScript访问内容

制作桌子和它';通过JavaScript访问内容,javascript,Javascript,Hw从左到右和从上到下将arr内容下载到表格单元格中?我的代码有什么问题?如何解决这个问题?提前谢谢 <button onclick="myFunction()></button> <table id="myTable" border='1px'> <tr> <th>N</th> <th>Name</th>

Hw从左到右和从上到下将arr内容下载到表格单元格中?我的代码有什么问题?如何解决这个问题?提前谢谢

 <button onclick="myFunction()></button>
 <table id="myTable"  border='1px'>
        <tr>
            <th>N</th>
            <th>Name</th>
            <th>Surname</th>
            <th>tel.</th>
            <th>email</th>
        </tr>
    </table>    


  var arr=[[1,2,3,4,'a'],[5,6,7,8,'b'],[9,10,11,12,'c']];
 function myFunction() {
    createTable();  
  }

   function createTable(){
      var i,j;
       var table = document.getElementById("myTable");
       for( i=0;    i<arr.length;   i++ ) {
           var row = table.insertRow(1);
             for( j=0,k=0; j<5, k<arr[i].length;j++, k++ ) {
             var cell = row.insertCell(0); 
               cell.innerHTML = arr[i][k];
        } 

    }
 }

我不确定您的数据结构,但如果您以以下形式获取数据

[ { N: 1, Name: 2, Surname: 3, Tel: 4, email: 'a' },
  { N: 5, Name: 6, Surname: 7, Tel: 8, email: 'b' },
  { N: 9, Name: 10, Surname: 11, Tel: 12, email: 'c' } ]
您可以使用以下
tableMaker
功能。它将属性作为标题(如果第二个参数提供为
true
),并将值作为相应的单元格来生成HTML文本。这里是这样的

var tableMaker=(o,h)=>{var keys=o.length&&Object.keys(o[0]),
rowMaker=(a,t)=>a.reduce((p,c,i,a)=>p+(i==a.length-1?“+c+”)
:“+c+”,“),
rows=o.reduce((r,c)=>r+rowMaker(key.reduce((v,k)=>v.concat(c[k]),[]),“td”),h?rowMaker(key,“th”):[]);
返回行数。长度?“+行数+:”;
},
arr=[1,2,3,4,'a'],[5,6,7,8,'b'],[9,10,11,12,'c'],
tableObj=arr.map(e=>({N:e[0],姓名:e[1],姓氏:e[2],电话:e[3],电子邮件:e[4]}),
tableHTML=tableMaker(tableObj,true);
document.write(tableHTML)