提交时以MM:SS:MS格式获取最低时间

问题描述

我正在尝试从带圈的秒表生成的3个结果中获取最低的时间值。

以下代码的结果可以用以下格式显示时间值: 00:00:56 00:02:34 00:02:15

因此,我替换/删除了冒号(:),以便使用min,max。

我正在尝试将最低值作为表格的一部分发送。

$(".submit").click(function(){
    var time_trial = [];

   $('.laps li').each(function (n) {
        time_trial[n] = $(this).html().replace(/:/g,'');
    });
    return false;
});

enter image description here

解决方法

因为您没有提供给我们任何信息,我认为这些时间都是以HH:MM:SS格式表示的。您可以使用date-functionn进行比较,我使用数学方法。
使用Array#map转换数组的每个条目。为此,我在转换后的时间字符串(不带':')之前添加字符串'1',并使用parseInt获得有效的Integer(因此为1,因为否则前导零会引起问题)。
在生成的整数数组上,我使用Math.min来获取最小值,然后使用toString将其转换回字符串。最后,我使用 subStr 构建您的时间字符串的有效格式。

let times = ['00:00:56','00:02:34','00:02:15'];

let res = Math.min(...times.map(t => parseInt('1'+t.replace(/:/g,'')))).toString();
res = res.substr(1,2) + ':' + res.substr(3,2) + ':' + res.substr(5);

console.log( res);