ES6 Map 数据结构的使用-数据分类汇总

ES6 提供了 Map 数据结构,即“值—值”的对应,是一种更完善的 Hash 结构实现。在实际的项目中可以用作数据的分类汇总,如下面的实例,将同一姓名的学生的学科分数做汇总:

    const arr = [
      {id: 1, name: 'Jack', Chinese: 99},
      {id: 2, name: 'Jack', English: 88},
      {id: 3, name: 'Jack', Math: 90},
      {id: 4, name: 'Tom', Chinese: 80},
      {id: 5, name: 'Tom', English: 70},
      {id: 6, name: 'Tom', Math: 60},
      {id: 7, name: 'Lily', Chinese: 100},
      {id: 8, name: 'Lily', English: 96,},
    ];
    const map = new Map();
    
    arr.map(item => {
      if(map.get(item.name)) {
        map.get(item.name).push(item);
      } else {
        let newArr = [];
        newArr.push(item)
        map.set(item.name, newArr);
      }
    });
    
    console.log(map);

输出结果为:

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值