JSFiddle - React, Tailwind, and code Playground

by Cwalkdawg

HTML

<select name="select">
    <option>--SELECT A DATE---</option>
</select>

JavaScript

function appendDateOffsets(date, offsets) {
    var createOption = function (value, content) {
        var option = document.createElement('option');
        option.text = content;
        option.value = value;
        return option;
    };

    var increment = function (date, by) {
        date.setDate(date.getDate() + by);
    };

    var select = document.getElementsByName('select')[0];

    var optionsArray = [];

    var incFromGivenOffsets = function (inc, count) {
        increment(date, inc);
        var value = (date.getFullYear) + (date.getMonth() + 1) + (date.getDate());
        optionsArray.push(createOption(value, date));
        if (count <= offsets.upper) {
            console.log(count);
            incFromGivenOffsets(1, count+1);
        }
    }
    incFromGivenOffsets(offsets.lower, offsets.lower);
    for (var i = 0; i < optionsArray.length; i++) {
        select.appendChild(optionsArray[i]);
    }
}

offsets = {
    lower: -2,
    upper: 8
};

appendDateOffsets(new Date(), offsets);