数据处理,数组对象去重并把某一项data合并

93 阅读1分钟
const dataList = [
    { name'大数据'type'line'data157912.3 },
    { name'大数据'type'line'data157023.6 },
    { name'除尘器'type'line'data25504.4 },
    { name'除尘器'type'line'data38000 },
    { name'电子商务'type'line'data54032.7 },
    { name'电子商务'type'line'data407965.198 },
    { name'电子商务'type'line'data21 },
    { name'Web前端'type'line'data100 },
    { name'Web前端'type'line'data150 },
    { name'Web前端'type'line'data160 },
  ]
  
   const dataListFilter = [];//定义一个空数组
  dataList.forEach(item => {
    const findItem = dataListFilter.find(ele => ele.name === item.name);//找到符合条件的项
    if (!findItem) {//没找到 push 一条数据,因为name相同的话,findItem是 !undefined
      dataListFilter.push({
        name: item.name,
        type'line',
        data: [],
      })
    }
    const idx = dataListFilter.findIndex(e => e.name === item.name)//从数组中找下标
    dataListFilter[idx].data.push(item.data);//push data数据
  })
  console.log(dataListFilter, 'dataListFilterdataListFilter')