我需要创建一个名为NextDay()的javascript函数。 这个函数应该在控制台中给我打印第二天的名字。
我创建了一个函数如下:
@echo off
Set "Wait=timeout /T 3 /nobreak>NUL"
:play
cls
set "id="
set /p id=Identification code:
If "%id%"=="" Echo no input&timeout 3>NUL&goto play
IF /i "%id:~0,6%"=="color:" Echo:%id%|findstr /I "^color:[0a-f]$" >NUL 2>&1 ^
&&(color %id:~-1%&Goto play)||(Echo wrong color&%Wait%&goto play)
cls
echo Identification stored.
%Wait%
cls
set "conf="
set /p conf=Enter identification:
if "%conf%"=="%id%" (
cls
echo Access granted.
%Wait%
exit
) else if /i "%conf%"=="#cheat.code:(acss_grnt.admn)$" (
color c&cls&echo Cheating system..
%Wait%
tree&dir
timeout 1 >nul
cls&echo Access granted.
%Wait%
exit
)
cls&echo Access denied.
%Wait%
exit
我期待输出为:
星期六
周日
星期一
星期二
星期三
星期四
星期五
星期六
但我得到的输出如下: 星期日 星期一 星期二 星期三 星期四 星期五 星期日 星期一
我相信我错过了一些非常小的东西,因为我在这里跳过了一天。 请建议
答案 0 :(得分:1)
我不知道你的哪一个数学出错了,但这是一个更简单的方法:
var counter =(new Date).getDay();
var days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
var nextDay = function () {
var day=days[counter];
counter = (counter+1)%7;
return day;
};
答案 1 :(得分:1)
生成器功能可能很方便。
function* nextDay() {
let i = 0,
days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
while (i < 7) {
yield console.log(days[i++]);
if (i == 7) i = 0;
}
}
let gen = nextDay();
gen.next();
gen.next();
gen.next();
gen.next();
gen.next();
gen.next();
gen.next();
gen.next();
gen.next();
&#13;