js数据分组

一.一个字段一次分组


  const arr = [{
      "id": "1001",
      "name": "同学1",
      "value": "jack"
  },
  {
      "id": "1001",
      "name": "同学1",
      "value": "tom"
  },
  {
      "id": "1002",
      "name": "同学2",
      "value": "mike"
  },
  {
      "id": "1002",
      "name": "同学2",
      "value": "lily"
  },
  {
      "id": "1002",
      "name": "同学2",
      "value": "joe"
  },
  {
      "id": "1003",
      "name": "同学3",
      "value": "harry"
  }
  ];
  function handleGroup(arr) {
      const obj = {};
      const groups = [];
      arr.forEach(item => {
 
          if (!obj[item.id]) { // 根据id分组
              groups.push({
                  groupName: item.id,
                  items: [item]
              });
              obj[item.id] = item;
          } else {
 
              groups.find(v => {// 选择符合条件的第一个元素
                  if (v.groupName === item.id) {
                      v.items.push(item);
                  }
              });
 
 
          }
      });
      return groups;
  }
 
posted @   大强子pq  阅读(827)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示