Group by element in array by keyword

前端 未结 3 1276
醉酒成梦
醉酒成梦 2021-01-24 22:55

I am developing an application on AngularJS (1) and I can not figure out how to split array of items in another array group by item.

I mean I have an array of different

3条回答
  •  攒了一身酷
    2021-01-24 23:39

    You can use reduce and Object.values()

    let a = [
        {"name": "toto", "uuid": 1111},
        {"name": "tata", "uuid": 2222},
        {"name": "titi", "uuid": 1111}
    ];
    
    let b = Object.values(a.reduce((a,b) => {
        a[b.uuid] = a[b.uuid] ? a[b.uuid].concat(b) : [b];
        return a;
    }, {}));
    
    console.log(b);

提交回复
热议问题