【发布时间】:2017-11-03 19:56:58
【问题描述】:
我有一个开始日期和一个结束日期,并且我想生成一个介于(包括)这两个日期之间的日期列表。但我不明白为什么它不起作用......
我传入了几个 JS 日期对象,我在下面的控制台中显示了它们记录的内容
function dateList(dateStart, dateEnd) {
console.log(dateStart);
console.log(dateEnd);
var dates = [];
for ( i = dateStart; i <= dateEnd; i.setDate(i.getDate() + 1) ){
dates.push(i);
}
return dates
}
Mon May 08 2017 00:00:00 GMT+0100 (BST)
Fri May 12 2017 00:00:00 GMT+0100 (BST)
返回的数组是
Array[5]
0: Sat May 13 2017 00:00:00 GMT+0100 (BST)
1: Sat May 13 2017 00:00:00 GMT+0100 (BST)
2: Sat May 13 2017 00:00:00 GMT+0100 (BST)
3: Sat May 13 2017 00:00:00 GMT+0100 (BST)
4: Sat May 13 2017 00:00:00 GMT+0100 (BST)
length: 5
__proto__: Array[0]
...为什么???......
【问题讨论】:
-
您在每次迭代中更改
i,并且每次都向数组添加对i的引用。所以数组中的所有元素都是一样的。 -
这里有一些东西可以帮助你,为 Arg0n 所说的添加上下文:stackoverflow.com/questions/4345045/…
标签: javascript date