js根据一个三维数组生成一个类似坐标图的对应表格

博客介绍了使用JS根据三维数组生成类似坐标图的对应表格,包含原始数据格式、效果图,还给出了样式部分的style、页面部分的HTML和JS部分代码。

js根据应该三维数组生成一个类似坐标图的对应表格

原始数据格式:

let array = [
    ["x1","y1",11],
    ["x1","y2",12],
    ["x1","y3",13],
    ["x1","y4",14],
    ["x2","y1",21],
    ["x2","y4",24],
    ["x2","y2",22],
    ["x2","y3",23],
    ["x3","y3",33],
    ["x3","y2",32],
    ["x3","y4",34],
    ["x3","y1",31],
    ["x4","y4",44],
    ["x4","y1",41],
    ["x4","y3",43],
    ["x4","y2",42],
    ]

生成的效果图:
在这里插入图片描述
样式部分style

<style>
        table{
            border-collapse: collapse;
            width: 300px;
        }
        table td{
            border:1px solid #e9323b;
            height: 40px;
            text-align: center;
        }
    </style>

页面部分html:

<div style="margin: 10px 10px 10px 10px">
    <table>
        <thead id="thead">
        </thead>
        <tbody id="contain2"></tbody>
    </table>
</div>

js部分:

let theadTr = '';
    let containStr = '';
    let xArray = [];// x数组:表格的x方向显示字段
    let yArray = [];// y数组:表格的y方向显示字段
    // 添加x数组元素
    for (let j=0;j<=array.length-1;j++){
        xArray.push(array[j][0])           
    }   
    xArray = Array.from(new Set(xArray))// 去重x数组
    theadTr += '<tr><td></td>';// 添加x方向表头数据
    for (let j=0;j<=xArray.length-1;j++){                 
        theadTr += `<td>${xArray[j]}</td>`;
    }
    theadTr += '</tr>';
    thead.innerHTML = theadTr;// 赋值
    // 添加y数组元素  
    for(let i =0;i<=array.length-1;i++){
        yArray.push(array[i][1]) 
    }
    yArray = Array.from(new Set(yArray));// 去重x数组
    // 添加每一个单元格的内容部分
    for (let i=0;i<=yArray.length-1;i++){
        containStr += '<tr>';         
        containStr += `<td>${yArray[i]}</td>`;// 添加x方向第一列数据
        for (var j = 0; j <= array.length - 1; j++) {
            if (yArray[i].includes(array[j][1])){// 与第一列数据进行比较判断是否在同一行
                containStr += `<td>${array[j][2]}</td>`;
            }
        }
        containStr += '</tr>';
    }    
    contain.innerHTML = containStr;// 赋值
如果有写错或者不足的地方,还请在评论区指正!!我会及时修改!!!!!!
请尊重原创,如需转载,还请注明原作者,原文链接,谢谢啦!!!

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值