【问题标题】:Get Lowest Time in MM:SS:MS Format on Submit提交时以 MM:SS:MS 格式获取最短时间
【发布时间】:2020-12-17 06:48:25
【问题描述】:

我试图从带有 Lap 的秒表生成的 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;
});

【问题讨论】:

  • “为了使用 min,max” - 你到底在哪里尝试这样做? “作为表格的一部分” - 什么表格?您展示的 HTML 不包含任何表单元素,所以这一定比您展示给我们的更多?正确的minimal reproducible example 您的问题,请 - 永远!

标签: php jquery mysql forms minmax


【解决方案1】:

因为您没有向我们提供信息,所以我假设将时间作为格式为HH:MM:SS 的数组。您可以使用日期函数进行比较,我使用数学方法。
使用Array#map 转换数组的每个条目。为此,我在转换的时间字符串(不带':')之前添加字符串'1' 并使用parseInt 来获得一个有效的整数(因此是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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-23
    • 1970-01-01
    • 2015-12-08
    • 1970-01-01
    • 1970-01-01
    • 2011-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多