Pio*_*yla -1 javascript while-loop node.js momentjs
代码假设用给定开始日期和结束日期之间的日期填充数组。我正在使用 Node.js。
var startDate = moment(startDay);
var endDate = moment(endDay);
var datesBetween = [];
var startingMoment = startDate;
while(startingMoment <= endDate) {
datesBetween.push(startingMoment);
startingMoment.add(1, 'days');
}
console.log(datesBetween);
Run Code Online (Sandbox Code Playgroud)
每次迭代都需要创建一个新对象,否则每次都会将相同的对象引用推送到数组中。他们都会以最后一个日期结束,因为它都是同一个对象
您可以使用moment.clone()每次克隆对象
var startDay = new Date(2018,1,1);
var endDay = new Date(2018,1,4);
var startDate = moment(startDay);
var endDate = moment(endDay);
var datesBetween = [];
var startingMoment = startDate;
while(startingMoment <= endDate) {
datesBetween.push(startingMoment.clone());// clone to add new object
startingMoment.add(1, 'days');
}
console.log(datesBetween);Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.0/moment.min.js"></script>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2881 次 |
| 最近记录: |