gpt4 book ai didi

java - 在jsp中将列表打印为表格

转载 作者:行者123 更新时间:2023-11-28 19:41:22 24 4
gpt4 key购买 nike

我有一个这样的列表:

[[A,0,1],[A,0,0],[B,0,1],[C,1,1],[C,0,1]]

我想像这样在 html 中打印它:

-------------
| A | 0 | 1 |
- - -----
| | | 0 |
-------------
| B | 0 | 1 |
-------------
| C | 1 | 1 |
- ---------
| | 0 | 1 |
-------------

有没有一种方法可以在 javascript 中做到这一点,或者有没有一种简单的方法可以在 jsp 中做到这一点?

最佳答案

Javascript:

来源:

var arr = [['A',0,1],['A',0,0],['B',0,1],['C',1,1],['C',0,1]];

计算每个单元格的合并深度:

var depth = arr.map(function(item){
return item.map(function(){
return 0;
});
});

var arrLength = arr.length;
for(var index=0;index<arrLength;index++){

var subArr = arr[index];
var subLength = subArr.length;
var tIndex;
var maxtIndex = arrLength;

if(index < arrLength -1) {
for(var i=0;i<subLength;i++){
tIndex = index + 1;
while(depth[index][i] != -1 && tIndex<maxtIndex){
if(subArr[i] == arr[tIndex][i]){
depth[index][i] = depth[index][i]+1;
depth[tIndex][i] = -1;
} else {
break;
}
tIndex++;
maxtIndex = tIndex;
}

if(depth[index][i] == 0){
break;
}
}
}
}

结果表:

var tableHtml = '<table>' + arr.map(function(subArr, index){
var str = '<tr>';
for(var i=0;i<subArr.length;i++){
var iDepth = depth[index][i];
if(iDepth !== -1) {
str += '<td' + (iDepth > 0?' rowspan="'
+ (iDepth + 1)+'"':'') + '>'
+subArr[i]
+ '</td>';
}
}
return str+'</tr>';
}).join(' ') + '</table>';

演示:JSFiddle

关于java - 在jsp中将列表打印为表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24953856/

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