gpt4 book ai didi

javascript - 不同数量的元素,推送到表,javascript

转载 作者:行者123 更新时间:2023-11-30 12:55:24 25 4
gpt4 key购买 nike

我正在尝试使用我刚得到的 json 响应将值插入表中,但问题是我收到的数组对象具有不同数量的元素

e.g.
[
[1,1,1,4,4],
[2,2,2],
[3,3,3]
]

正如我所说明的,我想遍历所有值或主数组,然后在每个元素上循环,并将它们作为 td 插入,如下所示:

var re = [];
re.push("<table>");
for(i = 0; i < arr.length; i++) {
re.push("<tr>");
for(k = 0; k < arr[i].length; k++) {
re.push('<td>' + arr[i][k]);
}
}


// output will be
--------+-------+-------+-------+-------+
| 1 | 1 | 1 | 4 | 4 |
----+-------+-------+-------+-------+---+
| 2 | 2 | 2 |
----+-------+-------+----
| 3 | 3 | 3 |
----+-------+-------+----

如您所见,每行将缺少 2 个 td,是否可以用 pad 第一个缺少的 td一个空的 td 这样

--------+-------+-------+-------+-------+
| 1 | 1 | 1 | 4 | 4 |
--------+-------+-------+-------+-------+
| | | 2 | 2 | 2 |
--------+-------+-------+-------+-------+
| | | 3 | 3 | 3 |
--------+-------+-------+-------+-------+

最佳答案

演示: http://jsfiddle.net/5VPps/

我会使用 DOM 方法(通常更快),然后继续创建表...

var table = document.createElement("table");
var max = 0;

for(var i = 0; i < arr.length; i++) {
var row = table.insertRow(i);
var len = arr[i].length;
max = len > max ? len : max;

for(k = 0; k < len; k++) {
row.insertCell(k)
.appendChild(document.createTextNode(arr[i][k]));
}
}

...然后对数组进行第二次迭代并根据需要添加填充单元格。

for (i = 0; i < arr.length; i++) {
while (table.rows[i].cells.length < max)
table.rows[i].insertCell(0);
}

关于javascript - 不同数量的元素,推送到表,javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19347626/

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