2016-02-12 55 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。 –

相關問題