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
。