zoukankan      html  css  js  c++  java
  • 使用reduce进行数组对象去重

     
        const list=[{name: "阎成文",grpname: "党组巡视工作办公室"},{name: "123",grpname: "党组巡视工作办公室"}]
    this.dateList(list)
      dateList=(list)=>{
        let dataList = [];
        let obj = {};
        // 处理第一层去重
        dataList = list.reduce((cur, next) => {
          let nextObj = {list:[]};
          nextObj.name = next.grpname;
          obj[nextObj.name] ? '' : (obj[nextObj.name] = true && cur.push(nextObj));
          return cur;
        }, []);
        // 处理第二层变格式
        for(let i=0;i<list.length;i++){
          let index = dataList.findIndex((student)=>{
              let objChild={};
              if(student.name==list[i].grpname){
                student.list.push(list[i])
              }
          })
        }
        this.setState({
          dataList:dataList
        })
          },
        ]
      }
     
     
        // 最后处理为为
        dataList=[
          {
            name: '党组巡视工作办公室',
            list: [
              {
                name: '阎成文',
              },
              {
                name: '123',
              },
            ],
  • 相关阅读:
    [BZOJ1303][CQOI2009]中位数图
    [BZOJ1192][HNOI2006]鬼谷子的钱袋
    9.5题解
    9.3题解
    9.2题解
    9.1题解
    8.29题解
    8.28题解
    8.23<2>题解
    8.23<1>题解
  • 原文地址:https://www.cnblogs.com/Angiy/p/13646801.html
Copyright © 2011-2022 走看看