合并相邻空值列!

158 阅读1分钟

合并相邻空值列(table)

  • 前两天发了个提问(如下沸点)
  • 没人回答啊,难道我姿势不对?
  • 今天感冒自己做出来了
  • 求更好的,求优化

我的方法

    const result = []
    const dataList = Object.entries(data)
    const convertColspan = (key, dataList, keyIndex, num) => {
      const list = dataList.slice(keyIndex + 1)
      for (let i = 0; i < list.length; i++) {
        if (!list[i][1]) {
          num++
        } else {
          break
        }
      }
      return num
    }
    dataList.forEach((element, index) => {
      if (element[1]) {
        result.push({
          key: element[0],
          value: element[1],
          colSpan: convertColspan(element[0], dataList, index, 1)
        })
      }
    });
    console.log(JSON.stringify(result,null,2));
// 数据
const data = {
      _index: '某某公司年度业绩数据表(2020年)',
      name: null,
      sex: null,
      numberId: null,
      idcard: null,
      month1: '月份',
      month2: null,
      month3: null,
      month4: null,
      month5: null,
      month6: null,
      month7: null,
      month8: null,
      month9: null,
      month10: null,
      month11: null,
      month12: null,
      toatl: '总计',
      mark: '备注'
    };
// 结果
[
  {
    "key": "_index",
    "value": "某某公司年度业绩数据表(2020年)",
    "colSpan": 5
  },
  {
    "key": "month1",
    "value": "月份",
    "colSpan": 12
  },
  {
    "key": "toatl",
    "value": "总计",
    "colSpan": 1
  },
  {
    "key": "mark",
    "value": "备注",
    "colSpan": 1
  }
]

其他

just 记录下 ps. 感冒好难受(也求解决)

沸点: juejin.cn/pin/6945055…