JSFiddle - React, Tailwind, and code Playground

by HemalathaThanigaivel

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment-with-locales.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.js"></script>
Your result is: <span id="result"></span>

JavaScript

let eventsArray = [ {id: 1, date: 1387271989749 }, {id:2, date: 1387271989760} ];
let byday={};
let byweek={};
let bymonth={};
function groupday(value, index, array)
{
    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)
{
    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)
{
    d = new Date(value['date']);
    d = (d.getFullYear()-1970)*12 + d.getMonth();
    bymonth[d]=bymonth[d]||[];
    bymonth[d].push(value);
}
eventsArray.map(groupday);
eventsArray.map(groupweek);
eventsArray.map(groupmonth);



console.log(byday)

/* var startDate = moment('2018-04-01');
var endDate = moment('2018-11-01');

var result = [];

if (endDate.isBefore(startDate)) {
  throw "End date must be greated than start date."
}      
let i = 0;
while (startDate.isBefore(endDate)) {
  if(i == 0){
    console.log("here")
    result.push(startDate.format("YYYY-MM-DD"));
  }else{
    result.push(startDate.format("YYYY-MM-01"));
  }
  //result.push(startDate.format("YYYY-MM-DD"));
  startDate.add(1, 'month');
  //let s1 = moment(startDate, '')
  if(startDate.isSame(endDate)){
    console.log('if')
  }
  i++;
}



$('#result').text("[" + result.join(",") + "]") */