[英]Fill array with months using loop
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]
您将startDate添加到dateData数组3次。 那只是添加对startDate值的引用,该引用在您的循环中正在更新。 更改:
dateData[i] = startDate;
至
dateData[i] = new Date(startDate);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.