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',
              },
            ],
  • 相关阅读:
    Ansible快速实战指南----多机自动化执行命令、部署神器
    linux 挂载共享盘
    蓄水池抽样算法
    PCA MATLAB代码
    网口转串口
    通过Python收集MySQL MHA 部署及运行状态信息的功能实现
    Linux常用命令总结(二)
    python 学习笔记 (四)
    MySQL 学习笔记(四)
    学习ProxySQL参考到几个网址
  • 原文地址:https://www.cnblogs.com/Angiy/p/13646801.html
Copyright © 2011-2022 走看看