可以使用 flatMap 方法来替代 forEach 和 push 操作,简化代码:

const tableData = data.flatMap((item: any, index2: number) =>
  item.diVoList?.map((ite: any, index: number) => ({
    key: index2 * (item.diVoList.length) + index,
    serial: index2 + 1,
    projectType: item.projectType,
    projectId: item.projectId,
    projectName: item.projectName,
    targetDi: item.targetDi,
    actualDi: item.actualDi,
    spm: ite.spm,
    department: ite.department,
    targetDis: ite.targetDi,
    actualDis: ite.actualDi,
    span: index === 0 ? item.diVoList.length : 0,
  }))
);

使用 flatMap 可以将嵌套的数组展开成一个平面的数组,map 则可以对每个元素进行转换和添加 key 属性。同时,不需要再声明一个空数组来存储结果。

JavaScript 代码优化:使用 flatMap 简化数组处理

原文地址: https://www.cveoy.top/t/topic/n0nw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录