在JavaScript中循环到一周的几天



所以我尝试了W3Schools的示例,并且得到了。

function day() {
  var day = new Date();
  var week = new Array(
    "Sunday",
    "Monday",
    "Tuesday",
    "Wednesday",
    "Thursday",
    "Friday",
    "Saturday"
  );
  for (i = 0; i < week.length; i++) {
    console.log(week[day.getDay(i) + 1]);
  }
}
day();

" 1"让您明天的日期,但是当您到达循环末端时会发生什么?假设今天是星期五,我想待三天,星期一回来为"未定义",因为它已经过去了。

有什么方法可以开始循环?从我所看到的,继续/休息不起作用。

关于如何获得今天的日期和接下来的几个更好的建议,以使循环不会破裂?

i不会改变一天,因为.getDay()未处理任何参数。使用模量操作员%在一周的7天左右包装。在下面运行摘要以查看其有效。

function day() {
  var day = new Date();
  var week = new Array(
    "Sunday",
    "Monday",
    "Tuesday",
    "Wednesday",
    "Thursday",
    "Friday",
    "Saturday"
  );
  for (i = 0; i < 14; i++) {
    console.log(week[(day.getDay() + 1 + i) % 7]);
  }
}
day();

我发现这是在循环中每天创建每一天的最佳方法:

function days() {
  var day = new Date();
  var week = new Array(
    "Sunday",
    "Monday",
    "Tuesday",
    "Wednesday",
    "Thursday",
    "Friday",
    "Saturday"
  );
  for (i = 0; i < 7; i++) {
    console.log(week[(day.getDay() + i) % 7]);
  }
}
days();

使用'%'运算符。

function day() {
var day = new Date();
var week = new Array(
    "Sunday",
    "Monday",
    "Tuesday",
    "Wednesday",
    "Thursday",
    "Friday",
    "Saturday"
);
for (i=0; i<week.length; i++) {
     var num = (day.getDay(i)+3)%7;
    console.log(week[num]);
}
}

最新更新