- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我得到了一个包含 fromTime 和 endTime 的对象数组。我想对它们进行排序,以便在数组中首先获得 16:00-18:00,最后获得 16:00-21:00。我知道如何根据 endDate 进行过滤,但是我需要将 fromDate 考虑在内,有人可以帮助我朝着正确的方向前进吗?
"deliverySlots": [
{
"deliveryFromTime": "17:00",
"deliveryToTime": "19:00",
},
{
"deliveryFromTime": "18:00",
"deliveryToTime": "20:00",
},
{
"deliveryFromTime": "19:00",
"deliveryToTime": "21:00",
},
{
"deliveryFromTime": "16:00",
"deliveryToTime": "21:00",
},
{
"deliveryFromTime": "16:00",
"deliveryToTime": "18:00",
}
]
function compare(a,b) {
var time1 = parseFloat(a.deliveryToTime.replace(':','.').replace(/[^\d.-]/g, ''));
var time2 = parseFloat(b.deliveryToTime.replace(':','.').replace(/[^\d.-]/g, ''));
if (time1 < time2) return -1;
if (time1 > time2) return 1;
return 0;
}
deliverySlots.sort(compare);
目标:
"deliverySlots": [
{
"deliveryFromTime": "16:00",
"deliveryToTime": "18:00",
},
{
"deliveryFromTime": "17:00",
"deliveryToTime": "19:00",
},
{
"deliveryFromTime": "18:00",
"deliveryToTime": "20:00",
},
{
"deliveryFromTime": "19:00",
"deliveryToTime": "21:00",
},
{
"deliveryFromTime": "16:00",
"deliveryToTime": "21:00",
},
]
所以基本上我想优先排序 endDate,然后是 startDate。 16:00-21:00应该在19:00-21:00之后
最佳答案
创建一个函数来按对象的属性值对对象进行排序,如下所示:
var deliverySlots = [
{
"deliveryFromTime": "17:00",
"deliveryToTime": "19:00",
},
{
"deliveryFromTime": "18:00",
"deliveryToTime": "20:00",
},
{
"deliveryFromTime": "19:00",
"deliveryToTime": "21:00",
},
{
"deliveryFromTime": "16:00",
"deliveryToTime": "21:00",
},
{
"deliveryFromTime": "16:00",
"deliveryToTime": "18:00",
}
];
function compare(a,b) {
if (a.deliveryToTime < b.deliveryToTime || (a.deliveryToTime == b.deliveryToTime && a.deliveryFromTime > b.deliveryFromTime))
return -1;
if (a.deliveryToTime > b.deliveryToTime || (a.deliveryToTime == b.deliveryToTime && a.deliveryFromTime < b.deliveryFromTime))
return 1;
return 0;
}
deliverySlots.sort(compare);
console.log(deliverySlots);
关于javascript - 根据 startTime 和 endTime 对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55498809/
下面是倒计时器。当我使用两个 if 语句时,时间会跳 2 秒 2 秒。如何添加两个 if 状态并保持倒计时正常(这样时间每秒都会变化而不是两秒) function startTimer(duratio
我是 Quickfix/J 的新手。 我是否可以动态或可编程地设置或覆盖 StartTime/EndTime,以便 StartTime 的值将是我启动程序时的准确时间? 或者我需要修改源代码才能实现这
我的代码需要确定特定进程运行了多长时间。但它继续失败,并在 Process.StartTime 请求上显示访问被拒绝的错误消息。这是一个使用用户凭据运行的进程(即,不是高权限进程)。显然有一个安全设置
我会开门见山 - 我无法更新现有 ADF Tumpling Window 触发器的 startTime 属性,我总是收到此错误: {"code":"DeploymentFailed","message
我有今天日期的餐厅业务startTime和endTime。 我有这样的要求,当点击立即订购按钮时,根据餐厅startTime和endTime我需要显示一条提醒消息表示服务将在接下来的 XX 分钟内恢复
我会开门见山 - 我无法更新现有 ADF Tumpling Window 触发器的 startTime 属性,我总是收到此错误: {"code":"DeploymentFailed","message
当我使用 System.Threading.Timer 时,我可以停止我的计时器并重新启动它: protected override void OnScrollChanged(int l, int t
我正在尝试创建一个只在给定时间之间工作的函数。 即:如果 startTime 为“13:00”且 endTime 为“14:00”,则每天当用户在该时间/之间使用我的应用程序时,调用该函数,否则不执行
StartTimer() 函数应该在按钮单击事件完成后调用,但它在 onclick 事件之前执行。如何在 onclick 事件之前停止计时器并在 onclick 事件之后启动计时器。 我该如何解决这个
我试图在工作线程的事件循环中启动计时器,但收到此错误:QObject::startTimer:计时器只能与以 QThread 启动的线程一起使用 这有什么问题吗? #include #include
这个问题已经有答案了: How to check a timeperiod is overlapping another time period in java (5 个回答) Determine W
如果startTime=11.30并且endTime=12.30 如果用户指定的开始时间为 11.20,则应在 startTime 和 endTime 中减去十分钟[10],如果开始时间为 11.50
幸运的是,.js 文件和 .vbs 文件启动时没有错误。但是,出于某种奇怪的原因,处决总是相信我不在这两个时间之间。请记住,我现在所在的位置是 22 点,那么是什么阻碍了我呢?这是代码: var d
我使用 timerEvent(QTimerEvent *e) 更新倒数计时器,完成后我调用 killTimer(timerID) 但 timerEvent() 仍在被调用。那么正确的杀灭方法是什么?
调用以下代码时,.NET 会发出访问被拒绝的问题。我想使用 System.Diagnostics 库来获取有关进程的信息。 Process[] processes = Process.GetProce
我得到了一个包含 fromTime 和 endTime 的对象数组。我想对它们进行排序,以便在数组中首先获得 16:00-18:00,最后获得 16:00-21:00。我知道如何根据 endDate
将有效的开始时间发送到Sound.play时,我听到mp3文件的开始时间约为500毫秒,然后才从给定的开始时间开始播放。 有人遇到这个问题吗? 谢谢。 最佳答案 我认为这实际上是flash的怪异问题。
我有测试应该运行的测试开始时间(例如 9:05:30)和总持续时间(例如 5000 秒)。如何根据开始时间和结束时间计算结束时间? 最佳答案 如果您使用 Java 8 时间 API 中的 Instan
我按照 Qt SDK 中的示例,在 QThread 子类中启动计时器但我不断收到警告,线程永远不会启动计时器。这是代码: NotificationThread::NotificationThread(
我正在尝试执行增量备份,我已经检查了导出选项但无法确定开始时间选项。另外请在 CopyTable 上提出建议,我该如何恢复。 最佳答案 使用 CopyTable您刚刚在 the same or ano
我是一名优秀的程序员,十分优秀!