Javascript 从两个数组创建html表,其中数组长度不必相同
我从一些服务器得到两个数组作为响应,这些数组可以具有不同的长度。我想用这个数组建立一个表 例如,服务器响应是Javascript 从两个数组创建html表,其中数组长度不必相同,javascript,html,jquery,html-table,Javascript,Html,Jquery,Html Table,我从一些服务器得到两个数组作为响应,这些数组可以具有不同的长度。我想用这个数组建立一个表 例如,服务器响应是 let a1=response.a1; let a2=response.a2; 在哪里 所以我希望桌子是这样的: +------+------+ | Col1 | Col2 | +------+------+ | a | d | | b | e | | c | | +------+------+ 我需要像这样的东西: var rows=&q
let a1=response.a1;
let a2=response.a2;
在哪里
所以我希望桌子是这样的:
+------+------+
| Col1 | Col2 |
+------+------+
| a | d |
| b | e |
| c | |
+------+------+
我需要像这样的东西:
var rows=""
for(var i=0;i<a1.length;i++)
{
for(var j=0;j<a2.length;j++)
{
rows+='<tr>....</tr>'
}
}
$('#myTbody').html(rows);
var rows=“”
对于(var i=0;i
const a1=['100'、'50000'、'60000'];
常数a2=[1111','2222'];
常量greaterLength=(a1.length>=a2.length)?a1.length:a2.length;
让商店“”;
对于(变量i=0;i
const a1=['100'、'50000'、'60000'];
常数a2=[1111','2222'];
常量greaterLength=(a1.length>=a2.length)?a1.length:a2.length;
让商店“”;
对于(变量i=0;i 警报(存储);
这里的棘手问题是一个数组可能比另一个数组长,因此首先:
查找最大数组的大小
创建一个循环,该循环将添加与最长数组大小一样多的表行
将单元格内容添加到每一行,处理1个数组在该特定数组索引处可能没有任何定义值的情况(因为数组大小不同)
我添加了//1.
//2.
和//3.
以帮助参考说明
const a1=['a','b','c']
常数a2=['d','e','f','g']
常量maxArrayLength=Math.max(a1.length,a2.length)//1。
const tbody=document.querySelector('tbody');
对于(设i=0;i
可乐
可乐
这里的棘手问题是,一个数组可能比另一个数组长,因此首先:
查找最大数组的大小
创建一个循环,该循环将添加与最长数组大小一样多的表行
将单元格内容添加到每一行,处理1个数组在该特定数组索引处可能没有任何定义值的情况(因为数组大小不同)
我添加了//1.
//2.
和//3.
以帮助参考说明
const a1=['a','b','c']
常数a2=['d','e','f','g']
常量maxArrayLength=Math.max(a1.length,a2.length)//1。
const tbody=document.querySelector('tbody');
对于(设i=0;i
可乐
可乐
HTML代码:
<table id="myTbody">
</table>
Javascript代码
a1 = ['a', 'b', 'c'];
a2 = ['d', 'e'];
var maxLen = 0;
if (a1.length > a2.length) {
maxLen = a1.length;
} else {
maxLen = a2.length;
}
var tableHtml = '<tr><th>col1</th><th>col2</th></tr>'
for (var i = 0; i < maxLen; i++) {
tableHtml = tableHtml + '<tr>';
tableHtml = tableHtml + '<td>' + (i >= a1.length ? '' : a1[i]) + '</td>';
tableHtml = tableHtml + '<td>' + (i >= a2.length ? '' : a2[i]) + '</td>';
tableHtml = tableHtml + '</tr>';
}
$('#tabby').html(tableHtml);
a1=['a','b','c'];
a2=['d','e'];
var maxLen=0;
如果(a1.长度>a2.长度){
最大长度=1.5米;
}否则{
最大长度=a2.5米;
}
var tableHtml='col1col2'
对于(变量i=0;i=a1.length?“”:a1[i])++;
tableHtml=tableHtml++(i>=a2.length?“”:a2[i])++;
tableHtml=tableHtml+“”;
}
$('#tabby').html(tableHtml);
HTML代码:
<table id="myTbody">
</table>
Javascript代码
a1 = ['a', 'b', 'c'];
a2 = ['d', 'e'];
var maxLen = 0;
if (a1.length > a2.length) {
maxLen = a1.length;
} else {
maxLen = a2.length;
}
var tableHtml = '<tr><th>col1</th><th>col2</th></tr>'
for (var i = 0; i < maxLen; i++) {
tableHtml = tableHtml + '<tr>';
tableHtml = tableHtml + '<td>' + (i >= a1.length ? '' : a1[i]) + '</td>';
tableHtml = tableHtml + '<td>' + (i >= a2.length ? '' : a2[i]) + '</td>';
tableHtml = tableHtml + '</tr>';
}
$('#tabby').html(tableHtml);
a1=['a','b','c'];
a2=['d','e'];
var maxLen=0;
如果(a1.长度>a2.长度){
最大长度=1.5米;
}否则{
最大长度=a2.5米;
}
var tableHtml='col1col2'
对于(变量i=0;i=a1.length?“”:a1[i])++;
tableHtml=tableHtml++(i>=a2.length?“”:a2[i])++;
tableHtml=tableHtml+“”;
}
$('#tabby').html(tableHtml);
我在上面的回答中提到了这一点,只是想发布一个示例,说明如何绕过比较阵列长度的需要。:)
您可以做的是将两个数组合并到另一个数组中(创建一个二维数组),然后使用此合并数组的长度来获取总列数
然后使用嵌套的for循环,我们可以循环二维数组中的每个数组,并将其作为行值添加到列中
我在下面贴了一个简单的例子:)
让a1=['a','b','c'];
设a2=['d','e'];
//创建二维阵列
//将看起来像[[a','b','c','d','e'];
设mergedArray=[a1,a2];
for(设i=0;i }
我在上面的回答中提到了这一点,只是想发布一个示例,说明如何绕过比较阵列长度的需要。:)
您可以做的是将两个数组合并到另一个数组中(创建一个二维数组),然后使用此合并数组的长度来获取总列数
然后使用嵌套的for循环,我们可以循环二维数组中的每个数组,并将其作为行值添加到列中
我在下面贴了一个简单的例子:)
让a1=['a','b','c'];
设a2=['d','e'];
//创建二维阵列
//将看起来像[[a','b','c','d','e'];
设mergedArray=[a1,a2];
for(设i=0;i }
非常好-我打算提供完全相同的解决方案