Сообщение от Vlasenko Fedor
|
Вариант
|
Если не ошибаюсь, можно идти от старта, тогда не придется сортировать второй раз
<script>
const res = [];
const workTime = [9, 18];
const input = [
[9, 10],
[15, 17],
[14, 17.4],
];
let [start, end] = workTime;
input.sort(([a], [b]) => a - b).forEach(([a, b]) => {
if (start < a) res.push([start, a]);
start = Math.max(start, b);
});
if (start < end) res.push([start, end]);
document.write(JSON.stringify(res));
</script>