Tengo una matriz de objetos que contienen un rango inicial y final.
var ranges = [{ start: 1, end: 5 }]Quiero empujar un objeto como este sin superponerlo con el rango inicial y final anterior
{ start: 6, end: 10 }Cómo verificar la superposición de un nuevo objeto con los objetos existentes
Editar:
{ start: 50, end: 100 }, { start: 11, end: 49 }Tengo la respuesta gracias a todos por su respuesta.
let isValid = timeRanges.every(r => (r.begin != selected.begin && r.begin < selected.begin && selected.begin > r.end) && (r.end != selected.end && r.end < selected.begin && selected.end > r.end));Puedes probar esto :
const ranges = [{ start: 1, end: 5 }]; const rangeObj = { start: 6, end: 10 }; function checkRangeOverlap(obj) { let res = '' ranges.forEach((obj) => { res = (obj.end > rangeObj.start) ? 'Overlaping': 'No Overlap'; }); return res; } console.log(checkRangeOverlap(rangeObj));