2019-08-27

[{vId: 1, aId: 1},{vId: 1, aId: 2},{vId: 2, aId: 1}] 如何 根据vId相同转变成 [{vId:1, aIds:[1,2]},{vId:2, aIds:[1]}]


const demo = [{ vId: 1, aId: 1 }, { vId: 1, aId: 2 }, { vId: 2, aId: 1 }];

demo

  .map(item => {

    const { vId, aId } = item;

    return {

      vId,

      aId: [aId]

    };

  })

  .reduce((acc, item) => {

    if (acc.length === 0) {

      acc.push(item);

      return acc;

    } else {

      acc.map(_item => {

        if (_item.vId === item.vId) {

          _item.aId = [..._item.aId, ...item.aId];

        }

        return _item;

      });

      return acc;

    }

  }, []);

console.log(demo);

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • PHP之短信验证码功能 现在网站在建设网站时为了保证用户信息的真实性,往往会选择发短信给用户手机发验证码信息,只有...
    长布阅读 179评论 0 0
  • Java简单实用方法 1:判断String类型数据是否为空 String类型的数据为空,主要为等于null或”“那...
    码客丶阅读 193评论 0 0
  • // 发送WebSocket通知 templatebool TWebsocket(const T& stru...
    hangzhou吴彦祖阅读 169评论 0 0
  • 项目登录页面需要添加产品协议和隐私政策,想到的方案就是使用富文本添加超链接点击事件 (void)configCon...
    雪里的懒猪阅读 1,215评论 0 2
  • 阴云密布,灰黑色的天空压抑所有人的心情,银杏叶落满一地,寒冷的深秋充满肃杀之气。人们裹着厚厚的冬装,仿佛要把整个世...
    放个假想回家阅读 272评论 0 0