前端数据分组

 //分组前数据
 let obj= [
        { name: 1, age: 11 },
        { name: 2, age: 22 },
        { name: 1, age: 33 },
        { name: 2, age: 44 },
        { name: 1, age: 55 },
        { name: 1, age: 66 },
        { name: 3, age: 67 },
        { name: 3, age: 8 },
      ],
// 处理
    groupBy() {
      // 遍历push到新数组所有name
      // 去重数组
      // 遍历数组生成 【name:age:[]】 格式
      // 双层遍历比对name 填入值
      let arrName = [
        ...new Set(
           obj.map((_) => {
            return _.name;
          })
        ),
      ].map((_) => {
        return { name: _, age: [] };
      });
      arrName.forEach((_) => {
        obj.forEach((item) => {
          if (_.name == item.name) {
            _.age.push(item.age);
          }
        });
      });
      return arrName;
    },

 

posted @ 2021-08-30 15:31  菜巴豆  阅读(443)  评论(0编辑  收藏  举报