Open lmislm opened 8 months ago
const times = [ { startTime: "2023-04-20T16:00:00.000Z", endTime: "2023-04-20T16:00:00.000Z", }, { startTime: "2023-04-21T12:00:00.000Z", endTime: "2023-04-21T13:00:00.000Z", }, { startTime: "2023-04-21T15:00:00.000Z", endTime: "2023-04-21T19:00:00.000Z", }, { startTime: "2023-04-22T12:00:00.000Z", endTime: "2023-04-22T16:00:00.000Z", }, { startTime: "2023-04-22T18:00:00.000Z", endTime: "2023-04-22T22:00:00.000Z", }, { startTime: "2023-04-23T11:00:00.000Z", endTime: "2023-04-23T22:00:00.000Z", }, ]; const time1 = { // yes startTime: "2023-04-21T14:00:00.000Z", endTime: "2023-04-21T18:00:00.000Z", }; const time2 = { // no startTime: "2023-04-22T16:10:00.000Z", endTime: "2023-04-22T17:00:00.000Z", }; // 给出一些时间区间times, 输入time1或者time2,判断是否和times有交集, 给出解决方法 function hasOverlapWithTimes(time, times) { for (const interval of times) { if ( time.startTime <= interval.endTime && time.endTime >= interval.startTime ) { return true; } } return false; } // 示例用法 const time1HasOverlap = hasOverlapWithTimes(time1, times); const time2HasOverlap = hasOverlapWithTimes(time2, times); console.log("time1 和时间区间times是否有交集:", time1HasOverlap); console.log("time2 和时间区间times是否有交集:", time2HasOverlap);