将时间转换为浮点数

Tre*_*dot 1 javascript timer stopwatch

我有一个秒表应用程序,它将时间存储在数组中。JS 从定时器启动时开始计算毫秒,然后将这些毫秒转换为秒和分钟,并将其作为字符串输出。

我想做的是计算这些时间的平均值,所以我必须将字符串转换为浮点数。它可以将像 10.35 这样的字符串转换为浮点数,但它显然不适用于像 1:24.56 这样的字符串,这就是我正在尝试解决的问题。时间将采用以下格式之一:

[seconds].[milliseconds]
[minutes]:[seonds].[milliseconds]
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我对 Javascript 很陌生,所以我不知道该去哪里。

编辑:回购协议在这里。所有的废话都发生在timer.js 和main.js 文件中。

Jon*_*lms 5

只需将其拆分,然后将其相加即可:

function toMS(str) {
  if(!str.includes(":"))
     return parseFloat(str);
  const [mins, secms] = str.split(":");
  const [sec, ms] = secms.split(".");
  return ((+mins * 60) + +sec) * 1000 + +ms;
}
Run Code Online (Sandbox Code Playgroud)

(这使用“一元加运算符”将字符串转换为数字)