Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从一周开始到X天_Javascript_Arrays_Logic - Fatal编程技术网

Javascript 从一周开始到X天

Javascript 从一周开始到X天,javascript,arrays,logic,Javascript,Arrays,Logic,我对本周的开始有一个逻辑问题。下面是一个代码示例 WeekStarts(WeekN){ WeekBD=[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”]; 设ArrIndex=WeekBD.findIndex(WeekN); for(设u=0;u{ 常量工作日=[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”] ,weekdayIndex=weekdays.indexOf(weekday) console.log( “开始:”,工作日, “天:”,中午

我对本周的开始有一个逻辑问题。下面是一个代码示例

WeekStarts(WeekN){
WeekBD=[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”];
设ArrIndex=WeekBD.findIndex(WeekN);
for(设u=0;u
好像我从下拉列表中选择,该下拉列表的值为周一到周日,现在我想选择从那天到每周5天

例如,如果我选择星期六作为一周的开始日,那么它总共5天将是星期六到星期三,总共5天,而不是7天。

请尝试下面的代码:

    function WeekStarts(WeekN) {
         let WeekBD = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
        let ArrIndex = WeekBD.indexOf(WeekN);    
        var i = 1;

        while(i <= 5){
           if(ArrIndex > 6){ ArrIndex = 0 };
           console.log(WeekBD[ArrIndex]);
          i++;
          ArrIndex++;
      }
   }
功能周开始(周){
WeekBD=[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”];
设ArrIndex=WeekBD.indexOf(WeekN);
var i=1;
而(i6){ArrIndex=0};
log(WeekBD[ArrIndex]);
i++;
ArrIndex++;
}
}

如注释中所述,如果要查找刚开始/结束的天数,可以使用
模(%)
运算符

const getDaysFrom=(工作日、中午)=>{
常量工作日=[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”]
,weekdayIndex=weekdays.indexOf(weekday)
console.log(
“开始:”,工作日,
“天:”,中午,
“结束:”,工作日[(工作日索引+中午-1)%weekdays.length]
)
}
getDaysFrom('星期六',5)
getDaysFrom('星期四',2)
getDaysFrom('星期二',6)

getDaysFrom('Friday',4)
因此您的
u
需要作为第一天的索引开始,然后您需要循环,直到有5个索引为止。如果你在五点之前到达循环的终点,从0开始。如果你只需要两天,即开始日和结束日,那么你已经有了开始日的
ArrIndex
。然后,对于它的索引,结束日就是
(arrdex+5)%7