gpt4 book ai didi

javascript - 迭代一周中的几天

转载 作者:行者123 更新时间:2023-11-28 15:05:56 24 4
gpt4 key购买 nike

我有这段代码,它会迭代选定的日期集,如果今天是选定的日期集的一部分,则应该响起true。然而,无论daysChosentoday 发生什么,isDay 都会响起false。那么我在这里缺少什么?..

var date = new Date;
var isDay;
var today=date.toString().substring(0,4)
//console.log(today)//good
for (var daysChosen of ['Sun','Mon','Tue','Wed','Thu'])
{
console.log(daysChosen)//good
isDay = today==daysChosen ? true : false
}
console.log(isDay)//bad, should be true if today is part of daysChosen

更新:好吧,这有点牛逼!!!...鉴于 today 在数组中,这到底如何才能计算为 true!?...

for (var value of ['Sun','Mon','Tue','Wed','Thu','Fri'])
{
var _day = (today!=value) ? true : false
break;
}
console.log(_day)

最佳答案

您有几个主要问题导致代码出现问题。

  1. var Today=date.toString().substring(0,4) - 日期的长度为 3 个字符,因此您会在末尾获得额外的空格。 今天===“Sun”,注意多余的空格。

  2. 正如其他答案所指出的那样,一旦找到正确的值,您就不会打破循环。

<小时/>

您可以简单地使用indexOf方法。它返回给定字符串的索引,如果数组中不包含该字符串,则返回 -1。

var date = new Date();
// first 3 characters from string for day of week
var today = date.toString().substring(0,3);
var days = ['Sun','Mon','Tue','Wed','Thu'];

var isInDays = days.indexOf(today) > 0; // indexOf returns -1 if not contained

或者修复现有代码:

var date = new Date;
var isDay;
var today=date.toString().substring(0,3)
//console.log(today)//good
for (var daysChosen of ['Sun','Mon','Tue','Wed','Thu'])
{
console.log(daysChosen)//good
isDay = today==daysChosen ? true : false
if(isDay) break; // must break once you find it or you will keep overriding the value.
}

关于javascript - 迭代一周中的几天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38947016/

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