JSFiddle - React, Tailwind, and code Playground

by Superman

HTML

<script src="http://kooiinc.github.io/JSHelpers/Helpers-min.js"></script>
<p id="dates"></p>

JavaScript

$(document).ready(function(){

    var result = new Array();
    result = recurringDates(new Date("01/01/2015"),new Date("01/31/2015"),7,"Date",true);
    console.log(result);
    $("#dates").html(result+"\n");

});


function recurringDates(startDate, endDate, interval, intervalType, noweekends) {
    intervalType = intervalType || 'Date';
    var date = startDate;
    var recurrent = [];
    var setget = {set: 'set'+intervalType, get: 'get'+intervalType};

    while (date < endDate) {
      recurrent.push( noweekends ? noWeekend() : new Date(date) );
      date[setget.set](date[setget.get]()+interval);
    }

    // add 1 day for sunday, subtract one for saturday
    function noWeekend() {
        var add, currdate = new Date(date), day = date.getDay();
        if (~[6,0].indexOf(day)) {
          currdate.setDate(currdate.getDate() + (add = day == 6 ? -1 : 1));
        }
        return new Date(currdate);
    }

    return recurrent;
}