gpt4 book ai didi

Javascript:在数组末尾重新启动循环一次

转载 作者:行者123 更新时间:2023-11-30 09:35:18 24 4
gpt4 key购买 nike

我最近遇到了这个问题,但在任何地方都找不到好的答案(因此才有了这个问题)。

我想在到达终点后重新开始循环,但只循环有限的次数。

在这个特定的上下文中,我有一周中的几天,我想使用 Date.getDay() 显示从今天开始的接下来 7 天的日期名称,其中,返回一个从 0(星期日)到 6(星期六)的值。我能够创建一个包含接下来 7 天名称的数组,除非由于当前循环而不断跳过一个名称。这是我到目前为止所得到的。

我的预期输出是:

['星期五', '星期六', '星期日', '星期一', '星期二', '星期三', '星期四']

const dayNames = [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
];
const rawDate = new Date();
let dayNum = rawDate.getDay();
const week = [];
for (let i = 0; i < 6; i++) {
if (dayNum + 1 === 7) {
dayNum = 0;
for (j = 0; j < todayNum; j++) {
week.push(dayNames[dayNum])
dayNum++
}
week.push(dayNames[dayNum]);
dayNum++
} else {
week.push(dayNames[dayNum + 1]);
dayNum++;
}

}
console.log(week);

我确实看到我的“for”中的“if”是一个人跳过的原因,但我似乎无法理解如何解决。谢谢大家

最佳答案

您可以使用 remainder operator %以获得正确的索引。

const dayNames = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"];
const rawDate = new Date();
let dayNum = rawDate.getDay();
const week = [];
for (let i = 0; i < 6; i++) {
week.push(dayNames[(dayNum + i) % dayNames.length]);
}
console.log(week);

关于Javascript:在数组末尾重新启动循环一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43897942/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com