合并相邻空值列(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. 感冒好难受(也求解决)