let eventsArray = [ {id: 1, date: '2019-03-05' }, {id: 3, date: '2019-03-25' },{id:2, date: '2019-05-05' } ];
let byday={};
let byweek={};
let bymonth={};
function groupday(value, index, array)
{
let d = new Date(value['date']);
d = Math.floor(d.getTime()/(1000*60*60*24));
byday[d]=byday[d]||[];
byday[d].push(value);
}
function groupweek(value, index, array)
{
let d = new Date(value['date']);
d = Math.floor(d.getTime()/(1000*60*60*24*7));
byweek[d]=byweek[d]||[];
byweek[d].push(value);
}
function groupmonth(value, index, array)
{
let d = new Date(value['date']);
console.log(d.getFullYear() +'-' + (d.getMonth() + 1))
// d = (d.getFullYear()-1970)*12 + d.getMonth();
d = d.getFullYear() +'-' + (d.getMonth() + 1)
bymonth[d]=bymonth[d]||[];
bymonth[d].push(value);
}
eventsArray.map(groupday);
eventsArray.map(groupweek);
eventsArray.map(groupmonth);
console.log(JSON.stringify(bymonth))
console