使用JavaScript按月份键拆分Excel导出的结构化数据
JavaScript按月份拆分Excel导出数据为对象数组
实现逻辑
遍历原始数据集时,先提取每条记录中所有条目共用的Responsible、Goal字段,再逐个遍历月份维度的字段,为每个月份生成一条独立的结构化对象推入结果数组,跳过生成带全量月份的中间对象的冗余步骤。
可直接运行的代码
const Ausgabe = []; // 月份字段配置,后续增减月份、调整字段映射直接修改该数组即可 const monthSourceKeys = ["Jan-22", "Feb-22", "Mar-22", "Apr-22", "May-22"]; _.forEach(data, (element) => { // 提取公共固定字段 const baseInfo = { Responsible: element.Responsible, Goal: element["Goal \r\n2022"] }; // 遍历每个月份生成单条记录 monthSourceKeys.forEach((key) => { Ausgabe.push({ ...baseInfo, Month: element[key] }); }); }); // 将最终结果赋值给data,符合返回规则 data = Ausgabe;
代码说明
- 月份字段抽离为独立配置项,降低后续维护成本
- 使用对象展开语法复用公共字段,减少重复赋值代码
- 无冗余中间数据结构,遍历一次原始数据即可生成最终结果,性能更优
- 执行完成后直接覆盖
data字段,满足默认返回data最终值的要求
内容的提问来源于stack exchange,提问作者WhosWho
相关产品推荐
相关产品推荐

