function dateColumn() {
var startDate = new Date($("#anStartDate").val()); //the start date
var pmtPeriods = $("#anPaymentPeriods").val(); //number of months in this case
var dateData = new Array(pmtPeriods);
var i = 0;
while (i < pmtPeriods) {
startDate = startDate.add(i).month();
dateData[i] = startDate;
i++
}
alert(dateData);
}
假设我的开始日期为2014-01-01
,我将{2}作为pmtPeriods
。用[2014-02-01, 2014-02-01]
填充我的数组。如果我将pmtPeriods
视为具有相同开始日期的3,则结果为[2014-03-01, 2014-03-01, 2014-03-01]
。这是错误的。
使用pmtPeriods 2我想得到结果:
[2014-02-01, 2014-03-01]
而不是
[2014-02-01, 2014-02-01]
答案 0 :(得分:3)
您将startDate添加到dateData数组3次。这只是添加对startDate值的引用,该值在循环中得到更新。变化:
dateData[i] = startDate;
到
dateData[i] = new Date(startDate);