我试图为一个月中剩下的每一天返回一个日期对象数组。
然而,由于某种原因,我无法让代码工作,我知道我已经很接近了,但我一直被困在这个问题上。
这是我的代码:
function findDays(theDate, daysLeft) {
var now = new Date();
var date = now.getDate();
var last = new Date(now.getFullYear(), now.getMonth()+1, 0).getDate();
var daysLeft = last - date;
return daysLeft;
}
var remaining = [];
var hello = function(daysLeft) {
var daysLeft = 0;
for (var i = 0; i < daysLeft.length; i++) {
remaining.push(
new Date(year, month, day + i)
);
}
return remaining;
};
// console.log(remaining);
// console.log(findDays() - (new Date(2016, 0, 1)).getDate());
首先,您设置daysLeft=0,它不是一个数组,因此调用daysLeft.length将产生未定义的结果,这意味着您根本不进入循环。
这是一个经过编辑的代码
function findDays(theDate, daysLeft) {
var now = new Date();
var date = now.getDate();
var last = new Date(now.getFullYear(), now.getMonth()+1, 0).getDate();
var daysLeft = last - date;
return daysLeft;
}
var now = new Date();
for(var i=0; i<findDays(); i++){
remaining.push(new Date(now.getFullYear(), now.getMonth() + 1, now.getDate() + i));
}