JSFiddle - React, Tailwind, and code Playground

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/1.7.2/moment.min.js"></script>

JavaScript

var data = [
  [1357171200000, 1],
  [1357344000000, 1],
  [1357430400000, 2],
  [1357516800000, 2],
  [1357689600000, 3],
  [1357776000000, 1]
];



$(function () {
  var newData = newDataArray(data);
console.log(newData)
  log('Original data (dates & difference)');
  for (i = 0; i < data.length; i++) {
    var d = moment(data[i][0]);
      var diff= i>0 ?  ' Difference: '+dateDiff(data[i - 1][0], data[i][0]) : '';
    log(d.format("MMM D") + diff);

  }


  log('<br>New data(dates)');

  $.each(newData, function (i, item) {
    var d = moment(item[0]);
    log(d.format("MMM D"));
  });
   log('<pre>'+JSON.stringify(newData,null,' ')) 
    
});




function newDataArray(data) {
  var startDay = data[0][0],
    newData = [data[0]];

  for (i = 1; i < data.length; i++) {
    var diff = dateDiff(data[i - 1][0], data[i][0]);
    var startDate = new Date(data[i - 1][0]);
    if (diff > 1) {
      for (j = 0; j < diff - 1; j++) {
        var fillDate = new Date(startDate).setDate(startDate.getDate() + (j + 1));
          newData.push([fillDate, 0]);
      }
    }
    newData.push(data[i]);
  }
  return newData;
}


function log(text) {
  $('body').append(text + '<br>');
}

function dateTextUsingMoment(timeStamp) {
  return moment(timeStamp).format("MMM D");
}

function dateDiff(d1, d2) {
  return Math.floor((d2 - d1) / (1000 * 60 * 60 * 24));
}