SOURCE

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 命令行工具 X clear

                    
>
console