JSFiddle - React, Tailwind, and code Playground

by Graham Fairweather

JavaScript

var d1 = [{
        id: 2
    }, {
        id: 3
    }, {
        id: 2
    }, {
        id: 3
    }],
    d2;


d2 = d1.reduce(function (acc, ele) {
    var id = ele.id;

    if (!acc[id]) {
        acc[id] = [];
    }

    acc[id].push(ele);

    return acc;
}, {});

d2 = Object.keys(d2).map(function (key) {
    return this[key];
}, d2);

console.log(JSON.stringify(d2));