gpt4 book ai didi

javascript - 使用 Javascript 数组和对象创建表

转载 作者:行者123 更新时间:2023-11-29 17:01:19 24 4
gpt4 key购买 nike

我有一个数组和一个对象:

labels = ['ID','Name']; 
object = {
["id": "1", 'name': "richard"],
["id": "2", 'name': "santos"]
};

我必须创建一个这样的表:

<table>
<thead>
<tr>
<td>ID</td>
<td>Name</td>
</tr>
</thead>
<tbody>
<tr>
<td>Richard</td>
<td>Santos</td>
</tr>
</tbody>

问题在于:
“对象”变量有时可能有不同的键名,所以我必须用其他对象动态创建这个表,我整天都在尝试这样做但没有成功,有人可以帮助我吗?我是 Javascript 的新手。obs:标签和对象变量始终具有相同的大小。

某种对象。

var labels = ['ID','NOME'];
var object = {
["id": "1", 'nome': "richard"],
["id": "2", 'nome': "adriana"]
};

var labels = ['ID','NAME', 'PLATE'];
var object = {
["id": "1", 'nome': "jetta", 'plate': "DFG-1222"],
["id": "2", 'nome': "fusion", 'plate': "DFF-3342"]
};

最佳答案

首先是两个问题:

  1. 那是 Name 还是 Nome?请更正您的错字(我知道 Nome 是法语,所以如果不是错字,我建议您介绍一个 i18n 解决方案)。
  2. 另请注意您的语法错误(有些已经给出了您可以考虑的修改建议)。

之后,这是我基于输入数据以编程方式创建表的方法:

function buildTable(labels, objects, container) {
var table = document.createElement('table');
var thead = document.createElement('thead');
var tbody = document.createElement('tbody');

var theadTr = document.createElement('tr');
for (var i = 0; i < labels.length; i++) {
var theadTh = document.createElement('th');
theadTh.innerHTML = labels[i];
theadTr.appendChild(theadTh);
}
thead.appendChild(theadTr);
table.appendChild(thead);

for (j = 0; j < objects.length; j++) {
var tbodyTr = document.createElement('tr');
for (k = 0; k < labels.length; k++) {
var tbodyTd = document.createElement('td');
tbodyTd.innerHTML = objects[j][labels[k].toLowerCase()];
tbodyTr.appendChild(tbodyTd);
}
tbody.appendChild(tbodyTr);
}
table.appendChild(tbody);

container.appendChild(table);
}

var labels1 = ['ID', 'Name'];
var objects1 = [
{"id": "1", 'name': "richard"},
{"id": "2", 'name': "santos"}
];

var labels2 = ['ID', 'NOME'];
var objects2 = [
{"id": "1", 'nome': "richard"},
{"id": "2", 'nome': "adriana"}
];

var labels3 = ['ID', 'NAME', 'PLATE'];
var objects3 = [
{"id": "1", 'name': "jetta", 'plate': "DFG-1222"},
{"id": "2", 'name': "fusion", 'plate': "DFF-3342"}
];

buildTable(labels1, objects1, document.getElementById('a'));
buildTable(labels2, objects2, document.getElementById('b'));
buildTable(labels3, objects3, document.getElementById('c'));
table {
border-collapse: collapse;
}
th, td {
border: 1px solid black;
}
<div id="a"><p>Table 1</p></div>
<div id="b"><p>Table 2</p></div>
<div id="c"><p>Table 3</p></div>

关于javascript - 使用 Javascript 数组和对象创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27681838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com