您好我有这个问题,我不知道如何解决。我在JavaScript中有这段代码。有两个控制台日志将变量写入控制台,我稍后会比较一个比一个更大的控制台日志。问题是JavaScript在if(alarmArray[i].ExtId < offsetTime)
甚至if alarmArray[i].ExtId = 11:42:35
和offsetTime = 11:42:7
错误地比较它们,条件仍然满足,IF将返回true
。这是某种JavaScript错误吗?
for (var i = alarmArray.length - 1; i >= 0; i -= 1) {
console.log(alarmArray[i].ExtId); //writes 11:42:37
console.log(offsetTime); //writes 11:42:7
if (alarmArray[i].ExtId < offsetTime) {
console.log(alarmArray[i]);
alarmArray.splice(i, 1);
}
}
答案 0 :(得分:0)
如果您使用正确的格式:
,则可以直接比较两个字符串HH:MM:SS < HH:MM:SS
但是您要比较HH:MM:SS < HH:MM:S
,这是一种错误的格式。
实际上,我认为最好的答案是:https://stackoverflow.com/a/6212411/3648578
答案 1 :(得分:0)
好的,修好了。我忘记在函数中添加零到几秒和几分钟,以形成我的时间。function formatTime(item) {
var hour = item.getHours(), min = item.getMinutes(), sec = item.getSeconds();
if (sec <= 9) sec = "0" + sec;
if (min <= 9) min = "0" + min;
var time = "" + hour + ":" + min + ":" + sec + "";
return time;
}
if(sec <= 9)sec =&#34; 0&#34; +秒; if(min <= 9)min =&#34; 0&#34; + min;我的代码中缺少