如果使用者新增的時間段,在上面顯示時間段有重複的時間範圍,則提示如下內容:
執行函式的入參內容列印:
點選檢視實現程式碼
export function addTimeRange(timeRanges, newTimeRange) {
console.log('原有的時間範圍的陣列timeRanges',timeRanges)
console.log('新的時間範圍newTimeRange',newTimeRange)
let timeRanges1 = cloneDeep(timeRanges);
timeRanges1.sort((a, b) => a.min - b.min);
timeRanges1.forEach((item) => {
if (newTimeRange.min == item.min && newTimeRange.max == item.max) {
item.flag = false;
}
if (
(newTimeRange.min == item.min && newTimeRange.max >item.min) ||
(newTimeRange.min<item.max && newTimeRange.max== item.max) ||
(newTimeRange.min < item.min&&newTimeRange.min==item.max && newTimeRange.max==item.min)||
(newTimeRange.min < item.min && newTimeRange.min < item.max&&newTimeRange.max>item.min) ||
(newTimeRange.min > item.min && newTimeRange.min < item.max)
) {
item.flag = false;
}
});
let isExist = timeRanges1.some((item1) => item1.flag == false);
if (!isExist) {
timeRanges.push(newTimeRange);
}else{
ElMessage({ type: "error", message: "存在重複的時間段,請重新選擇" });
}
return timeRanges;
}