如何使用javascript将数组值插入HTML表?

如何使用javascript将数组值插入HTML表?,javascript,html,arrays,html-table,Javascript,Html,Arrays,Html Table,我试图用javascript函数在HTML表中放入一个数组,但我不知道如何插入这个数组?这个想法是当我点击按钮插入时,它会将一个人的信息添加到行中。 //排列 变量a=[ {姓名:Micheal,年龄:20岁,家乡:纽约}, {姓名:桑蒂诺,年龄:25岁,家乡:洛杉矶}, {姓名:弗雷多,年龄:29岁,家乡:加利福尼亚州}, {姓名:黑根,年龄:28岁,家乡:长滩}, ] //插入数据函数 函数插入数据{ var table=document.getElementByIdmyTable; /

我试图用javascript函数在HTML表中放入一个数组,但我不知道如何插入这个数组?这个想法是当我点击按钮插入时,它会将一个人的信息添加到行中。

//排列 变量a=[ {姓名:Micheal,年龄:20岁,家乡:纽约}, {姓名:桑蒂诺,年龄:25岁,家乡:洛杉矶}, {姓名:弗雷多,年龄:29岁,家乡:加利福尼亚州}, {姓名:黑根,年龄:28岁,家乡:长滩}, ] //插入数据函数 函数插入数据{ var table=document.getElementByIdmyTable; //救命啊。。。。。。 } 全名 年龄 国
您可以在循环中声明thead和tbody以及in函数来填充表

变量a=[ {姓名:Micheal,年龄:20岁,家乡:纽约}, {姓名:桑蒂诺,年龄:25岁,家乡:洛杉矶}, {姓名:弗雷多,年龄:29岁,家乡:加利福尼亚州}, {姓名:黑根,年龄:28岁,家乡:长滩}, ] //插入数据函数 函数插入数据{ var table=document.getElementByIddatas; table.innerHTML=; var-tr=; a、 forEachx=>{ tr+=; tr++=+x.name+++x.age+++x.homely+ tr+= } table.innerHTML+=tr; //救命啊。。。。。。 } 全名 年龄 国
您可以在循环中声明thead和tbody以及in函数来填充表

变量a=[ {姓名:Micheal,年龄:20岁,家乡:纽约}, {姓名:桑蒂诺,年龄:25岁,家乡:洛杉矶}, {姓名:弗雷多,年龄:29岁,家乡:加利福尼亚州}, {姓名:黑根,年龄:28岁,家乡:长滩}, ] //插入数据函数 函数插入数据{ var table=document.getElementByIddatas; table.innerHTML=; var-tr=; a、 forEachx=>{ tr+=; tr++=+x.name+++x.age+++x.homely+ tr+= } table.innerHTML+=tr; //救命啊。。。。。。 } 全名 年龄 国
单击按钮创建一个动态元素tr和td,并将其附加到文档中的table元素


用作了解如何创建动态元素的参考

单击按钮创建一个动态元素tr和td,并将其附加到文档中的table元素中


用作了解如何创建动态元素的参考

这是一个完全通用的方法,您可以添加一个新的键,并向数据中添加一个新列,没有问题:

//排列 var myData=[ {姓名:Micheal,年龄:20岁,家乡:纽约,示例:extra}, {姓名:桑蒂诺,年龄:25岁,家乡:洛杉矶,示例:extra}, {姓名:弗雷多,年龄:29岁,家乡:加利福尼亚州,示例:extra}, {姓名:Hagen,年龄:28岁,家乡:长滩,示例:extra}, ] //获取对表格、头部和身体的引用: const myTable=document.getElementById'myTable'; const myTable_header=myTable.querySelector'thead' const myTable_body=myTable.querySelector'tbody' //插入数据函数 函数插入数据{ //帮助 myTable_header.innerHTML=; var tr=document.createElement'tr'; const headers_data=Object.keysmyData[0]; headers\u data.forEachkey=>{ var th=document.createElement'th' th.innerHTML=key 托尔茨; } myTable_header.appendChildtr; myTable_body.innerHTML=; 对于let i=0;i{ var td=document.createElement'td'; td.innerHTML=myData[i][key] tr.td; }; myTable_body.appendChildtr; } }
这是一个完全通用的方法,您可以添加一个新键,并向数据中添加一个新列,没有问题:

//排列 var myData=[ {姓名:Micheal,年龄:20岁,家乡:纽约,示例:extra}, {姓名:桑蒂诺,年龄:25岁,家乡:洛杉矶,示例:extra}, {姓名:弗雷多,年龄:29岁,家乡:加利福尼亚州,示例:extra}, {姓名:Hagen,年龄:28岁,家乡:长滩,示例:extra}, ] //获取对表格、头部和身体的引用: const myTable=document.getElementById'myTable'; const myTable_header=myTable.querySelector'thead' const myTable_body=myTable.querySelector'tbody' //插入数据函数 函数插入数据{ //帮助 myTable_header.innerHTML=; var tr=document.createElement'tr'; const headers_data=Object.keysmyData[0]; headers\u data.forEachkey=>{ var th=document.createElement'th' th.innerHTML=key 托尔茨; } myTable_header.appendChildtr; myTable_body.innerHTML=; 对于let i=0;i{ var td=d createElement'td'; td.innerHTML=myData[i][key] tr.td; }; myTable_body.appendChildtr; } } 演示证明:

演示证明:


对于动态表,如果要频繁更改数组

let tableBody = a.reduce((rows, nextRow) =>{
                return rows += 
                    '<tr>' + 
                    Object.keys(nextRow).reduce((cols, nextCol) => { 
                        return cols += '<th>' + nextRow[nextCol] + '</th>'
                    }, '') + 
                    '</tr>'
            }, '')

对于动态表,如果要频繁更改数组

let tableBody = a.reduce((rows, nextRow) =>{
                return rows += 
                    '<tr>' + 
                    Object.keys(nextRow).reduce((cols, nextCol) => { 
                        return cols += '<th>' + nextRow[nextCol] + '</th>'
                    }, '') + 
                    '</tr>'
            }, '')