在数组中合并相同id数据,并且数据中某一字段不一致也统一合并进去

封装的合并的函数

  function formateArray(data:any){
    // @ts-ignore
    let res = data.reduce((ac,a) => {
      // @ts-ignore
      let index = ac.findIndex(x => x.id === a.id);
      index === -1 ? ac.push({...a}) : ac[index] = {...ac[index],...a};
      return ac;
    },[])
    return res;
  }

使用

  1. allData 原始数据 图片可以看到数据id相同,其中有字段不一致的,统一将相同id的数据合并成一条数据字段不一致也统一合并;

在数组中合并相同id数据,并且数据中某一字段不一致也统一合并进去_第1张图片

使用函数

   const mergeData = formateArray(allData);
   console.log('合并之后的数据',mergeData)

在数组中合并相同id数据,并且数据中某一字段不一致也统一合并进去_第2张图片

你可能感兴趣的:(javascript,前端,开发语言)