2012-03-12 37 views
0

我有一个javascript方法,它使用拆分方法将时间存储在数组中,然后将时间转换为秒。但是当我调试时,数组总是有前2个元素,而忽略最后一个元素。不知道为什么?Javascript拆分方法不能按预期工作

GetSeconds : function (time) {      
    var timesecs = 0; 
    var min = 1;     
    var timeArray = time.split(ctx.options.separator); //this always contain 2 elements 

    while (timeArray.length > 0) { 
     timesecs += min * parseInt(timeArray.pop()); 
     min *= 60; 
    } 
    return timesecs;      
} 

ctx.options.separator是一个存储我的分隔符的变量。我试着用“:”,时间流逝是“00:00:00”。这个方法是从另一个增加第二个的方法调用的。

我在IE,Chrome和Firebug中试过。当我通过Visual Studio调试(因为这代码是在我的.net应用程序)

回答

1

我尝试了fiddle,一切工作正常有此表现不同。你确定,那ctx.options.separator按预期工作?

+0

BTW,我在Chrome17和IE9试图 – 2012-03-12 18:58:02

+0

谢谢!实际上问题出现在'parseInt(timeArray.pop())'。 parseInt函数无法解析,我们需要使用的10个基本为'parseInt函数大于8的值(timeArray.pop(),10)'。另外,我想我有timeArray.pop()在看。 – 2012-03-12 20:00:43

+0

什么样的怪异-O parseInt函数默认为基地8? – 2012-03-12 20:42:17