Ich habe ein Array von Objekten wie so, wobei action
immer entweder "Start" oder "Stop" ist, und time
ist ein UNIX-Millisekunden-Zeitstempel (hier vereinfacht).Wie berechnet man die Gesamtzeit zwischen einer Liste von Einträgen?
[
{
action: "start",
time: 100,
},
{
action: "stop",
time: 150
},
{
action: "start",
time: 250
},
{
action: "stop",
time: 350
}
]
Ich muss herausfinden, die Gesamtmenge der verstrichenen Zeit zwischen jedem "Start" und "Stop". In diesem Fall wäre die richtige Antwort 150
, weil
(150 - 100) + (350 - 250) = 150
Es ist möglich, für das Array in einer „Start“ Eingabe zu beenden, wobei in diesem Fall würde der Unterschied, dass zwischen time
und Date.now()
sein.
Es wurde jedoch sichergestellt, dass das Array nach der Zeit sortiert ist, und "Start" und "Stop" -Einträge werden notwendigerweise ordnungsgemäß wechseln.
Wie kann ich darüber gehen?