Abbiamo ad esempio la data x che è 1 Gennaio 2017 e la data y che è 1 Dicembre 2018. Se vogliamo avere la lista dei mesi tra queste due dati possiamo procedere in questo modo
var start = StartDate.split('-');
var end = EndDate.split('-');
var startYear = parseInt(start[0]);
var endYear = parseInt(end[0]);
var dates = [];
for(var i = startYear; i <= endYear; i++) {
var endMonth = i != endYear ? 11 : parseInt(end[1]) - 1;
var startMon = i === startYear ? parseInt(start[1])-1 : 0;
for(var j = startMon; j <= endMonth; j = j > 12 ? j % 12 || 11 : j+1) {
//var month = j+1; // number of mouth
var cloneMouthValue = j+1 + "-" + i; // number of mouth
var cloneMouthLabel = dateHash[j+1] + " " + i; // number of mouth
//console.log("------------>"+cloneMouthValue);
//console.log("------------>"+cloneMouthLabel);
//var displayMonth = month < 10 ? '0'+month : month;
//dates.push([i, displayMonth, '01'].join('-'));
//console.log("------------------------------------------->" + i) // year
cloneMouth.push({value:cloneMouthValue,label:cloneMouthLabel});
//cloneMouth.push({value:'02',label:'Febbraio'});
}
}
console.log(cloneMouth);