Дополнен 2 недели назад
Возможно получилось
const tbl=a=>{
let s='';
for (let i=0; i<a.length; i++){
s+='<tr>';
for (let j=0; j<a[0].length; j++){
let v=a[i][j];// жертвацвет
if(!v)continue;
let ii=i, jj=j, jjj;
while ((ii<a.length)&&(a[ii][jj]==v)){
while ((jj<a[0].length)&&(a[ii][jj]==v)){
a[ii][jj]=0;
jj++
}
ii++;
jjj=jj;
jj=j;
}
s+='<td'+
(' rowspan="'+(ii-i)+'" colspan="'+(jjj-j)+'"')
.replace(' rowspan="1"','')
.replace(' colspan="1"','')+'></td>';
}
s+='</tr>\r\n';
}
return '<table>\r\n'+s+'</table>';
}