gpt4 book ai didi

javascript - 时区偏移数组的自定义排序

转载 作者:行者123 更新时间:2023-11-28 18:27:59 25 4
gpt4 key购买 nike

我正在尝试对时区偏移数组进行排序,如下所示:

[“+03:00”、“-11:00”、“+05:00”、“-04:00”]

这只是数组的一个子集。包括基于 GMT 的时区的所有偏移量。逻辑顺序是距 GMT 的距离,以 -11.00

开头

所以最终正确的顺序是:

[“-11:00”、“-04:00”、“+03:00”、“+05:00”]

我必须在这里使用Array.prototype.sort,但我不完全确定这里使用的最有效的自定义排序函数是什么。是否需要将绳子分成两部分?例如:-|+offset,例如:11, 4, 3, 5 然后比较它们?有没有一种方法可以减少处理量?

最佳答案

排序函数应该是

function(a, b) { 
return parseFloat(a.replace(':', '.')) - parseFloat(b.replace(':', '.'));
}

基本上,将 : 更改为 . 并返回解析后的 float 的差异

您还可以执行以下操作:

function(a, b) { 
return parseInt(a.replace(':', ''), 10) - parseInt(b.replace(':', ''), 10);
};

这会将字符串转换为 +/-HHMM,然后您可以将其解析为整数,并且仍然能够支持大量的非整小时时区。虽然我不认为可以获得那么多的性能

关于javascript - 时区偏移数组的自定义排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38733425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com