У меня есть метод в javascript, который использует метод split для хранения времени в массиве, а затем конвертирует время в секунды. Но когда я отлаживаю, массив всегда имеет первые 2 элемента и игнорирует последний. Не знаете почему?Метод Javascript Split не работает должным образом
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)
BTW, я пробовал в Chrome17 и IE9 –
Спасибо! На самом деле проблема заключалась в 'parseInt (timeArray.pop())'. parseInt не смог проанализировать значения, превышающие 8. Нам нужно использовать base of 10 как 'parseInt (timeArray.pop(), 10)'. Кроме того, я думаю, у меня был timeArray.pop() в часах. –
Какой тип weird-o parseInt используется для базы 8? –