Показать сообщение отдельно
  #5 (permalink)  
Старый 20.07.2021, 01:17
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

<script>
const res = [];
const workTime = [9, 18];
const input = [
    [9, 10],
    [15, 17],
    [14, 16],
];
let [start, end] = workTime;
input.sort((a, b) => b[1] - a[1]).forEach(([a, b]) => {
    if (b < end) res.push([b, end]);
    end = Math.min(a, end);
});
if (end > start) res.push([start, end]);
document.write(JSON.stringify(res.sort(([a], [b]) => a - b)));
</script>

Вариант

Последний раз редактировалось Vlasenko Fedor, 20.07.2021 в 01:59. Причина: Причесал
Ответить с цитированием