我对编程很陌生,我正在学习的一个教程类给了我一个创建一个javascript脚本来显示一天中所有秒的任务。
我自己用一些基本代码完成了作业:
function Time() {
var hours = 12;
var minutes = 0;
var seconds = 0;
var amorpm = 1;
var counter = 0;
var endtime = 86400;
while (counter < endtime) {
if (amorpm <= 12) {
document.writeln(fixTime(hours) + ":" + fixTime(minutes) + ":" + fixTime(seconds) + "AM");
} else if (amorpm > 12) {
document.writeln(fixTime(hours) + ":" + fixTime(minutes) + ":" + fixTime(seconds) + "PM");
} else {
break;
}
if (seconds < 59) {
seconds++;
} else {
if (minutes < 59) {
minutes++;
} else {
ampm++;
if (hours < 12) {
hours++;
} else {
hours = 1;
}
minutes = 0;
}
seconds = 0;
}
counter = counter + 1;
}
}
function fixTime(i) {
if (i < 10) {
i = "0" + i
};
return i;
}
输出完全正确。
然而,其中一个标准是使用“嵌套循环”,对于我的生活,我有点难以弄清楚如何用嵌套循环做同样的事情。
我猜我可以使用for循环用i ++ - s计算秒数和分钟数,或者几个while循环数,但所有这些对我来说似乎都是不必要的包袱。
非常感谢任何帮助!
答案 0 :(得分:1)
您可以为 小时 , 分钟 和 for loop
>秒 每个并嵌套它们。
AM / PM 可以花费mod 12
小时。
for (let h = 0; h < 24; h++) {
for (let m = 0; m < 60; m++) {
for (let s = 0; s < 60; s++) {
// 24 hour
document.write(`<div>${h.toString().padStart(2, "0")}:${m.toString().padStart(2, "0")}:${s.toString().padStart(2, "0")}</div>`);
// 12 hour am/pm
//document.write(`<div>${(h % 12).toString().padStart(2, "0")}:${m.toString().padStart(2, "0")}:${s.toString().padStart(2, "0")} ${h < 12 ? "AM" : "PM"}</div>`);
}
}
}
答案 1 :(得分:0)
使用AM和PM的12小时时钟。您可以创建4个for循环。每个小时,分钟和秒各3个,从AM切换到PM并嵌套它们。
for (var min = 0; min <= 59; min++) { //Loop for Min Count
for (var sec = 0; sec <= 59; sec++) { //Loop for seconds count
console.log("12" + ":" + (min < 10 ? "0" + min : min) + ":" + (sec < 10 ? "0" + sec : sec) + " AM");
}
}
for (var i = 0; i < 2; i++) { //loop to switch from AM to PM
for (var hour = 1; hour <= 12 - i; hour++) { //Loop for Hour Count
for (var min = 0; min <= 59; min++) { //Loop for Min Count
for (var sec = 0; sec <= 59; sec++) { //Loop for seconds count
if (i == 0 && hour != 12) {
console.log((hour < 10 ? "0" + hour : hour) + ":" + (min < 10 ? "0" + min : min) + ":" + (sec < 10 ? "0" + sec : sec) + " AM");
} else {
console.log((hour < 10 ? "0" + hour : hour) + ":" + (min < 10 ? "0" + min : min) + ":" + (sec < 10 ? "0" + sec : sec) + " PM");
}
}
}
}
}