for (var i=0; now <= endDate; i++) {
dates.push(new Date(now));
now = now.addMonths(1);
}
вы создаете экземпляр и используете i
для того, чтобы ничего не проходить. условие now <= endDate
никак не зависит от значения i
(обычно вы увеличиваете / уменьшаете i
, пока оно не достигнет желаемого значения как: var i=0; i < 11; i++
) Я не знаю, как это будет работать, мой первый инстинкт является то, что он будет генерировать цикл, который не остановится, пока мы не достигнем этой endDate
даты.
Похоже, вы ищете все даты между определенным диапазоном, попробуйте следующее:
var enumerateDaysBetweenDates = function(startDate, endDate) {
var dates = [];
var currDate = moment(startDate, 'MM/DD/YYYY');;
var lastDate = moment(endDate, 'MM/DD/YYYY');;
while(currDate.add(1, 'months').diff(lastDate) < 0) {
console.log(currDate.toDate());
dates.push(currDate.clone().toDate());
}
return dates;
};