将时间转换为浮点数

Convert time to a float

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

我要做的是计算这些时间的平均值,因此我必须将字符串转换为浮点数。它可以将 10.35 之类的字符串转换为浮点数,但它显然不适用于 1:24.56 之类的内容,这就是我要修复的问题。时间将采用以下格式之一:

[seconds].[milliseconds]
[minutes]:[seonds].[milliseconds]

有什么想法吗?我是 Javascript 的新手,所以我不确定该去哪里。

编辑:回购是 here。所有的废话都发生在 timer.js 和 main.js 文件中。

拆分,然后相加:

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;
}

(这里使用"unary plus operators"将字符串转换成数字)