网页前端后台技巧(CSS+HTML)

javaScript -- 数据转换之波浪层数据转标准二维数组

2019-03-25  本文已影响36人  反者道之动001

数据格式不对,不按规范来,会导致各种问题,比如table渲染数据有误,无法正确导出

这个是原数据结构

现在要转成

先把数据拍平,这个简单, flat的如下(这个是map过滤的,好调试):



    // 组的大小
    var groupNum = 5
    // 一个组分割的大小
    var groupRowNum = 4
    var colNum = 12
    // 转换后的结果
    var result = []

    for(let r_i = 0; r_i < groupRowNum * groupNum; r_i ++){
        let row = []
        let current_index = 0
        for(let c_i = 0; c_i < colNum; c_i++){
            let currentGroupNumber = (r_i / groupRowNum) | 0
            let aGroupFullNumber = (currentGroupNumber * (groupRowNum * (colNum - 1)))
             current_index =  aGroupFullNumber + c_i * groupRowNum  + (r_i)
            // TEST
            //row.push(`${flatArr[current_index]}-r${r_i},c${c_i}`)
            row.push(flatArr[current_index])
        }
        result.push(row)
    }


    console.table(result)

--END--

上一篇 下一篇

猜你喜欢

热点阅读