收藏
回答

数据数数组如何重新组合?

如果我有一个数据如何:

child:[ {nameB:B1,image:M1},{nameB:B1,image:M2},{nameB:B2,image:M1},{nameB:B1,image:M4} ,{nameB:B2,image:M2} ]



如何可发生成:

child:[ {nameB:B1,image: [ M1,M2,M4 ] } ,{nameB:B2,image:[ M1,M2]} ]


请指教!!!!!!




回答关注问题邀请回答
收藏

1 个回答

  • Mr.Zhao
    Mr.Zhao
    2020-02-20
    let arr = [
      { nameB: "B1", image: "M1" },
      { nameB: "B1", image: "M2" },
      { nameB: "B2", image: "M1" },
      { nameB: "B1", image: "M4" },
      { nameB: "B2", image: "M2" }
    ]
    
    
    const map = new Map();
    arr.forEach(item => {
      let val = map.get(item.nameB);
      if (val) {
        let images = [...val];
        images.push(item.image);
        map.set(item.nameB, images)
      } else {
        map.set(item.nameB, [item.image])
      }
    })
    console.log(map);
    
    2020-02-20
    有用
    回复 8
    • 朱_kambo
      朱_kambo
      2020-02-20
      小程序上云函数也可以这样写吗
      2020-02-20
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-02-20回复朱_kambo
      我记得云数据库支持这种操作
      2020-02-20
      回复
    • 朱_kambo
      朱_kambo
      2020-02-20
      请问这里的...val是表示什么意思?
      2020-02-20
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-02-20回复朱_kambo
      es6 扩展运算符
      2020-02-20
      回复
    • 朱_kambo
      朱_kambo
      2020-02-21回复Mr.Zhao
      表示val定义了一个空数组,对吗?
      2020-02-21
      回复
    查看更多(3)
登录 后发表内容
问题标签