gpt4 book ai didi

javascript - 无法让 for 循环正确循环

转载 作者:行者123 更新时间:2023-11-29 20:46:05 25 4
gpt4 key购买 nike

好的,所以我正在创建一个天气应用程序,该应用程序接受邮政编码并提供当天的当前最低温度和最高温度以及接下来六天的 future 温度。我还添加了具有列出正确日期的 Date() 函数的功能。但是当它循环回到星期天并且它位于数组中的 0 索引时,我遇到了问题。我对变量何时通过数字 6 并将其重置为 0 进行了条件测试,因此我不会遇到任何未定义的错误。唯一的问题是我仍然遇到这些问题。我将把 js 代码留在下面,它应该足够直接到不需要 html 的地方。也提前抱歉,我总是搞砸这里的缩进,大声笑。感谢您的帮助。

下面的JS代码

const weatherButton = document.getElementsByTagName("BUTTON")[0];
const currentTemp = document.getElementsByClassName("weather__main--temp")[0];
const currentDayElement = document.getElementsByClassName("weather__lower--day")[0];
const futureDays = document.getElementsByClassName("weather__item--day");


//Adding functionality for setting days of week on button click
weatherButton.addEventListener("click", () => {
const days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
let now = new Date();
let currentDayIndex = now.getDay();
currentDayElement.innerHTML = days[currentDayIndex];
//Adding days for futurecast
for( let i = 0; i < 6; i++ ) {
if( currentDayIndex > 6 ) { currentDayIndex = 0 };
futureDays[i].innerHTML = days[currentDayIndex + 1];
currentDayIndex++;
};
});

最佳答案

你的问题是:

days[currentDayIndex + 1]

当 currentDayIndex 为 0 并且您加 1 时,您将从 1 开始。

这是您要使用的 for 循环。

for(let i = 0, j = currentDayIndex + 1; i < 6; i++, j++){       
if(j > 6){
j = 0
}
futureDays[i].innerHTML = days[j];
}

关于javascript - 无法让 for 循环正确循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54490314/

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