怎么改造这个数据,变成这样?

怎么改造这个数据,变成这个样子(就是使得assessList中的相关键名发生改变)
改造前:

let list=[
  {
    phone: "13589633694",
    assessYear: "2023",
    grounpName: "张山组",
    totalPoints: "800",
    projectNum: "15",
    assessList: [
      {
        phone: "13589633692",
        assessYear1: "2023",
        grounpName1: "张山",
        totalPoints1: "500",
        projectNum1: "8",
      },
      {
        phone: "13589633655",
        assessYear1: "2023",
        grounpName1: "李四",
        totalPoints1: "300",
        projectNum1: "7",
      },
    ],
  },
  {
    phone: "12589633694",
    assessYear: "2023",
    grounpName: "王五组",
    totalPoints: "300",
    projectNum: "5",
    assessList: [
      {
        phone: "13389633694",
        assessYear1: "2023",
        grounpName1: "铁蛋",
        totalPoints1: "200",
        projectNum1: "3",
      },
      {
        phone: "13586633694",
        assessYear1: "2023",
        grounpName1: "二牛",
        totalPoints1: "100",
        projectNum1: "2",
      },
    ],
  },
]

改造后:

let list1=[
  {
    phone: "13589633694",
    assessYear: "2023",
    grounpName: "张山组",
    totalPoints: "800",
    projectNum: "15",
    assessList: [
      {
        phone: "13589633692",
        assessYear: "2023",
        grounpName: "张山",
        totalPoints: "500",
        projectNum: "8",
      },
      {
        phone: "13589633655",
        assessYear: "2023",
        grounpName: "李四",
        totalPoints: "300",
        projectNum: "7",
      },
    ],
  },
  {
    phone: "12589633694",
    assessYear: "2023",
    grounpName: "王五组",
    totalPoints: "300",
    projectNum: "5",
    assessList: [
      {
        phone: "13389633694",
        assessYear: "2023",
        grounpName: "铁蛋",
        totalPoints: "200",
        projectNum: "3",
      },
      {
        phone: "13586633694",
        assessYear: "2023",
        grounpName: "二牛",
        totalPoints: "100",
        projectNum: "2",
      },
    ],
  },
]
阅读 1.7k
2 个回答
function transformProps(obj) {
  if (Array.isArray(obj)) {
    return obj.map(item => transformProps(item));
  } else if (typeof obj === 'object') {
    const result = {};
    for (const [key, value] of Object.entries(obj)) {
      let newKey = key;
      if (key.endsWith('1')) {
        newKey = key.slice(0, -1);
      }
      result[newKey] = transformProps(value);
    }
    return result;
  }
  return obj;
}

你也可以直接把数组变成字符串来进行替换 e.g. JSON.stringify

第1层与第2层的内容是一样的,个人理解只是存在主子关系。可以考虑加个类似parentId字段,来体现主子关系。

就算真的要改,也是后端改啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题