为了账号安全,请及时绑定邮箱和手机立即绑定

JS数组格式合并转换

JS数组格式合并转换

隔江千里 2018-12-20 18:15:54
有如下数组var sourceList = [    {SupportProgramId: 1, Category: "AAA", SubCategory: "A-1"},    {SupportProgramId: 2, Category: "AAA", SubCategory: "A-2"},    {SupportProgramId: 3, Category: "AAA", SubCategory: "A-3"},    {SupportProgramId: 4, Category: "BBB", SubCategory: "B-1"},    {SupportProgramId: 5, Category: "CCC", SubCategory: "C-1"},    {SupportProgramId: 6, Category: "CCC", SubCategory: "C-2"}];要求转换成如下格式:求好的转换过程,可以使用es6或lodash提供的方法
查看完整描述

1 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

供参考

var data = Array.from(sourceList.reduce((map, {

    SupportProgramId: subId, Category: mainTitle, SubCategory: subTitle

  }) => {

  if (map.has(mainTitle)) {

    map.get(mainTitle).subList.push({subId, subTitle})

  } else {

    map.set(mainTitle, {mainTitle, subList: [{subId, subTitle}]})

  }

  return map

}, new Map()).entries())


查看完整回答
反对 回复 2019-01-02
  • 1 回答
  • 0 关注
  • 383 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号