Hannes Weninger: JavaScript Array - Überlappen sich die Zeiten

Beitrag lesen

Hallo.

ich habe folgende JavaScript Funktion unten um zu checken, ob sich 2 Zeiten (start - end) überlappen. Das Funtioniert gut. Mein Problem ist jetzt, dass ich z.B: 6 Zeiten (start - end) haben kann und ich alles checken möchte, ob sich irgendein Intervall mit einem anderen überlappt.

Weiß jemand, wie ich das am besten lösen kann. Ich müsste ja z.B. meine 6 Zeiten in 2er Arrays aufsplitten, und da jede Kombination. Weiß da jemand eie bessere Lösung?

Danke! Hannes

function overlapping(a, b) {
    function getMinutes(s) {
        var p = s.split(':').map(Number);
        return p[0] * 60 + p[1];
    }
    return getMinutes(a.end) > getMinutes(b.start) && getMinutes(b.end) > getMinutes(a.start);
}

document.write(overlapping({ start: '00:00', end: '00:00' }, { start: '00:00', end: '00:00' }) + '<br>');
document.write(overlapping({ start: '00:00', end: '02:00' }, { start: '00:00', end: '02:00' }) + '<br>');