JSFiddle - React, Tailwind, and code Playground

by Dmitri Ganenco

JavaScript

var data = [{"id":1, "start":"2018-10-10", "end":"2018-11-10"},
 {"id":1, "start":"2018-11-10", "end":"2018-12-10"},
 {"id":2, "start":"2018-11-22", "end":"2018-11-30"}];

 
let result = data.sort((a,b) => new Date(a.start) > new Date(b.start)).reduce(function (r, a) {
				if(!r[a.id] || r[a.id][0].id !== a.id){
        r[a.id] = r[a.id] || [];
        r[a.id].push(a);
        }
        
        return r;
    }, Object.create(null));
    
    console.log(result)