2016-02-12 47 views
0

我有startTime和endTime的数组。我想从间隔数组中找到实际的开始时间和结束时间。数组在下面给出。什么是查找开始和结束时间数组之间的间隔的最佳方法

var shiftArray = [{"startTime":"14:00:00","endTime":"21:59:59"}, 
 
        {"startTime":"06:00:00","endTime":"13:59:59"}, 
 
        {"startTime":"22:00:00","endTime":"05:59:59"}];

预期的结果是:

todayShift = {"startTime":"06:00:00", "endTime":"05:59:59"};

任何人都可以提出来达到预期的结果一些最好的选择。

回答

0

我不认为有任何其他方式比循环和比较它们

var shiftArray = [{ 
 
    "startTime": "14:00:00", 
 
    "endTime": "21:59:59" 
 
}, { 
 
    "startTime": "06:00:00", 
 
    "endTime": "13:59:59" 
 
}, { 
 
    "startTime": "22:00:00", 
 
    "endTime": "05:59:59" 
 
}]; 
 
var todayShift = { 
 
    "startTime": "23:59:59", 
 
    "endTime": "00:00:00" 
 
}; 
 
shiftArray.forEach(function(shift) { 
 
    if (shift.startTime < todayShift.startTime) { 
 
    todayShift.startTime = shift.startTime; 
 
    } 
 
    if (shift.endTime > todayShift.endTime) { 
 
    todayShift.endTime = shift.endTime; 
 
    } 
 
}) 
 
result.innerHTML = JSON.stringify(todayShift, null, 2)
<pre id="result"></pre>

+0

我想获得结束时间为“5点59分59秒”,因为,那是轮班的最后一次结束时间。即需要找到今天的最后一班,并从中得到endTime。 –

相关问题