繁体   English   中英

使用循环使用月份填充数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM