splitメソッドを使用して時間を配列に格納し、時間を秒に変換するメソッドがjavascriptで使用されています。しかし、私がデバッグすると、配列は常に最初の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"でした。このメソッドは、2番目のメソッドをインクリメントする別のメソッドから呼び出されます。
IE、Chrome、Firebugで試しました。これは、Visual Studio(このコードは私の.netアプリケーションにあります)を使用してデバッグすると、動作が異なります
私はChrome17とIE9で試しました –
ありがとう!!実際、問題は 'parseInt(timeArray.pop())'にありました。 parseIntは8より大きい値を解析できませんでした。10の底を 'parseInt(timeArray.pop()、10)'として使う必要があります。また、私はtimeArray.pop()を見ていたと思います。 –
奇妙なparseIntはどのような種類の基数が8にデフォルト設定されていますか? –