gpt4 book ai didi

Javascript数组按时间排序html表

转载 作者:行者123 更新时间:2023-11-28 01:21:17 25 4
gpt4 key购买 nike

我需要将数组转换为按时间排序的html表格,添加排名并计算第一名的时间损失。数组示例:`

var array = [
["McNulty Oscar", "USA", "108:45.1"],
["Johansson Anton", "SWE", "87:48.9"],
["Schneider Florian", "SUI", "dns"],
["Rio Nicolas", "FRA", "57:45.1"]
];`

最终的 HTML 表格应如下所示:

1 Rio Nicolas       FRA  57:45.1
2 Johansson Anton SWE 87:55.9 30:10.8
3 McNulty Oscar USA 107:45.2 51:03.1
Schneider Florian SUI dns dns

我的想法是在Jquery中将Array转换为HTML table,然后使用tablesorter对其进行排序> 插件。我仍然不知道何时以及如何计算时间损失。这是好方法还是我完全出局了?

最佳答案

不幸的是,对于您的情况没有简单的解决方案。您正在处理的值既不是时间值(就 JS 而言......请参阅 JS Date 对象以获取有关时间的更多信息: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date ),也不是可以直接相减的数字,而无需操纵。

最好的办法是将这些值分开并以长期的方式进行减法。 。 。使用var timeElements[2] = each.split(".")获取每个值的分钟/秒/十分之一秒的数组。此时,您可以:

  1. 进行长距离减法。 。 。分别减去每个值,根据需要在“列”之间转移值,或者
  2. 将分钟和秒转换为十分之一秒,将所有三个值合并为“总十分之一秒”,进行减法,然后将它们转换回三个单独的值,以获得差值。

第二个选项可能是更容易实现的逻辑,即使它有很多步骤。

<小时/>

如果您可以避免时差,还有另一种选择。 。 。如果您可以在所有时间值前面添加零,以便每个分钟、秒和十分之一秒始终具有相同数量的字符,AND 如果“dns”是除了时间之外唯一会出现的其他值,直接 <由于在字符串上使用大于/小于的方式,字符串的比较实际上仍然适用于排序。例如:

  • “057:45.1”小于“087:48.9”
  • “087:48.9”小于“108:45.1”
  • “108:45.1”小于“123.54.7”
  • “123.54.7”小于“243.04.6”
  • “243.04.6”小于“dns”

这确实不是一个最佳方法。 。 。不需要太多就能摆脱这种字符串比较。 。 。但如果您能够非常确定所获得的值,那么仍然值得一提。

。 。 。如果你可以跳过整个“时差”部分。 :D

关于Javascript数组按时间排序html表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23228127/

25 4 0
文章推荐: c++ - 如何在类中初始化动态数组?
文章推荐: javascript - 如何使Datepicker符合WCAG 2.0?
文章推荐: javascript - 如何使用 2 个 JSON 选项在 Angular.js 中创建自定义