【发布时间】:2022-10-23 12:13:57
【问题描述】:
我想构建一个将 AM/PM 转换为 24 小时格式的算法。它还没有完成,但我到目前为止的代码表现得很奇怪。
当我输入"25:05:45PM" 时,它应该进入第一个if 语句的第一个分支,但应该不是输入第二个if 语句。我检查了条件,肯定是false。我的大脑正在融化。
这是代码:
function conversionTime(s) {
if (s.includes('PM')) {
let temp = s.slice(0, 8).split(':');
if (temp[0] >= 01 && temp[0] <= 12); {
temp[0] = Number(temp[0]) + 12;
return temp.join(':')
}
} else if (s.includes('AM')) {
let temp2 = s.slice(0, 8).split(':');
return temp2
}
}
console.log(conversionTime("25:05:45PM"))
【问题讨论】:
-
一个
if (s.includes('AM'))里面if (s.includes('PM'))对我来说听起来没那么有用,除非你的字符串包含两个都AM和PM。那可能是你的问题。 -
嗨@wizzwizz4,我刚刚编辑了我的函数,感谢您的注意,我搞砸了```。
-
@CherryDT 不,不是这样;在
return temp.join(':')之后隐藏了一个}。 -
哦...好吧,这个故事的寓意是:伙计们,正确缩进和格式化你的代码!为了你自己的理智和所有试图帮助你的人。
-
是的,对不起,我搞砸了,我正在努力学习拥有最干净的代码,我保证我的下一个问题将是完美的@CherryDT