0

我正在尝试制作一个包含选定日期的数组。我能够在开始/结束日期这样做。现在,我正在尝试为内部日期(开始/结束日期之间的日期)做这件事。为此,我首先构建此功能:

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)

4

0 回答 0