JavaScript值比较错误

时间:2015-06-11 10:06:10

标签: javascript

您好我有这个问题,我不知道如何解决。我在JavaScript中有这段代码。有两个控制台日志将变量写入控制台,我稍后会比较一个比一个更大的控制台日志。问题是JavaScript在if(alarmArray[i].ExtId < offsetTime)甚至if alarmArray[i].ExtId = 11:42:35offsetTime = 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);
        }
    }

2 个答案:

答案 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;我的代码中缺少