Javascript获取星期数范围数字,在两个数字之间,符合ISOWeekday

Ben*_*Nov 3 javascript arrays datetime

所以我试图在一个特定范围内得到一系列日期数,符合 ISOWeekday (返回1-7,其中1表示星期一,7表示星期日)

因此,如果工作周从星期日(7)开始,到星期二()结束4,

我需要输出这个数组: 7,1,2,3,4

const startWeek = 7;
const endWeek = 4;
for (let i = 1; i < 7; i++) {
  if (i > startWeek && i < endWeek) {
    console.log(i);
  }
}
Run Code Online (Sandbox Code Playgroud)

tri*_*cot 6

您可以使用模运算,如下所示:

const startWeek = 7;
const endWeek = 4;
for (let i = 0; i <= (endWeek + 7 - startWeek) % 7; i++) {
    let week = (startWeek + i - 1) % 7 + 1;
    console.log(week);
}
Run Code Online (Sandbox Code Playgroud)

使用回调函数参数以函数方式编写Array.from:

const startWeek = 7;
const endWeek = 4;
var weeks = Array.from(Array((endWeek + 7 - startWeek) % 7 + 1), 
                       (_,i) => (startWeek + i - 1) % 7 + 1);
console.log(weeks);
Run Code Online (Sandbox Code Playgroud)