我正在尝试制作一个包含选定日期的数组。我能够在开始/结束日期这样做。现在,我正在尝试为内部日期(开始/结束日期之间的日期)做这件事。为此,我首先构建此功能:
getDates(start: NgbDate, end: NgbDate) {
var inside = [];
var currentDate = start;
while (currentDate <=end) {
inside.push(currentDate);
currentDate = this.calendar.getNext(currentDate,'d',1);
}
return inside;
}
然后,当我尝试使用它时:
this.insideDates = this.getDates(this.startDate, this.endDate);
我收到此内存消耗错误:
PS: 1- startDate, & endDate 类型为 NgbDate
2-我正在使用 Angular 7/typescript 文件。
提前致谢。
更新:
如果我使用以下功能:
getDates2 = function(start, end) {
var insideDates = [],
currentDate = start,
addDays = function(days) {
var date = new Date(this.valueOf());
date.setDate(date.getDate() + days);
return date;
};
while (currentDate <= end) {
insideDates.push(currentDate);
currentDate = addDays.call(currentDate, 1);
}
return insideDates;
};
并使用它如下:
this.insideDates = this.getDates2(this.startDate, this.endDate);
我只得到第一个日期(即 this.startDate)