我有一个条件里面我有一个循环当我运行代码我能够通过条件,但在我的条件我有一个循环不会被执行。
这一行上面的构造函数
currentDate = new Date();
班级内的这一行
if (form.value.packType == "Per Week") {
console.log("I could able to see this console");
for (var a = this.currentDate.getDate(); a < 8; a++) {
console.log("I could not see this console",a)
}
}
在我的控制台中,我能够看到&#34;每周&#34;值,但我无法在我的日志中看到控制台。
有人可以帮助我。
答案 0 :(得分:0)
因为今天的日期是28(例如)所以a = 28
并且您的条件类似a < 8
所以条件变为false并且它将从循环中退出而不执行单个循环。
答案 1 :(得分:0)
如果在控制台中记录currentDate.getDate(),您将看到它的值为28.因为这大于8,所以不执行循环。
console.log(currentDate.getDate())
也许你应该澄清循环中的条件是什么来帮助你。
答案 2 :(得分:0)
在你的for循环中,当你这样做时:a = this.currentDate.getDate();
你会得到'28',这使得循环执行条件为false而且根本不运行。
您需要的是获取当前日期,并运行7天的循环,并使用setDate()
方法获取日期。这就是你应该这样做的方式:
if (form.value.packType == "Per Week") {
// get the current day
let currentDateDay = this.currentDate.getDate();
// get the next 7 dates from currectDate
for(var a=1;a<=7;a++){
// Get the next date
let nextDate = new Date();
nextDate.setDate(currentDateDay+a);
console.log(nextDate);
}
}
链接到Plunker Demo