可以使用forEach来优化这段代码,将map替换为forEach,并且不需要使用一个外部的数组来存储结果,直接在forEach中对tableData进行操作即可:

let index = 0;
data.forEach((item: any) => {
  const len = item?.diVoList?.length;
  item.diVoList?.forEach((ite: any, subIndex: number) => {
    tableData.push({
      serial: index + 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: subIndex === 0 ? len : 0,
      key: index,
    });
    index++;
  });
});
setDiData(tableData);

优化后的代码优势:

  • 避免了创建新的数组,直接操作tableData,提高内存效率。
  • 代码结构更加清晰,易于理解和维护。
  • 避免了map函数的额外开销,提升代码性能。
使用forEach优化TypeScript代码:将map替换为forEach提升性能

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

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