Javascript 正在检查MomentJS数据到字符串在if check中未正确计算
我正在尝试创建一个函数来创建一个数组,其中包含不是星期五、星期六或星期天的接下来两周的天数Javascript 正在检查MomentJS数据到字符串在if check中未正确计算,javascript,momentjs,Javascript,Momentjs,我正在尝试创建一个函数来创建一个数组,其中包含不是星期五、星期六或星期天的接下来两周的天数moment().isoWeekday().toString()根据日期返回数字1-7。我有一个if语句检查每天是否匹配5、6或7,但无论哪一天,它们都返回true。我不确定我做错了什么。请告知 for(设i=1;i
moment().isoWeekday().toString()
根据日期返回数字1-7。我有一个if语句检查每天是否匹配5、6或7,但无论哪一天,它们都返回true。我不确定我做错了什么。请告知
for(设i=1;i<14;i++){
if(moment().add(i,'days').isoWeekday().toString()!='5'||
矩().add(i,'days').isoWeekday().toString()!='6'||
矩().add(i,'days').isoWeekday().toString()!='7'){
console.log(矩().add(i,'days').isoWeekday().toString())
dayArray.push(矩().add(i,'days').toString());
}
}
错误似乎来自您的条件,您使用或(| |)代替和(&&)
for(设i=1;i<14;i++){
if(矩().add(i,'days').isoWeekday().toString()!='5'&&
矩().add(i,'days').isoWeekday().toString()!='6'&&
矩().add(i,'days').isoWeekday().toString()!='7'){
console.log(矩().add(i,'days').isoWeekday().toString())
dayArray.push(矩().add(i,'days').toString());
}
}
一些指针。为什么要将.isoWeekday()
的结果转换为字符串?如果将其保留为整数,则If语句将是If(矩().add(i,'days').isoWeekday()<5)
,这样您就不必担心|
与&&
之类的问题。还有,为什么要重新计算moment().add(i,'days').isoWeekday()
5次?这只是尖叫“制造一个变量”@gforce301太棒了!根据你的建议,我刚刚进行了重构,看起来更干净了。谢谢
for (let i = 1; i < 14; i++) {
if (moment().add(i, 'days').isoWeekday().toString() !== '5' &&
moment().add(i, 'days').isoWeekday().toString() !== '6' &&
moment().add(i, 'days').isoWeekday().toString() !== '7') {
console.log(moment().add(i, 'days').isoWeekday().toString())
dayArray.push(moment().add(i, 'days').toString());
}
}