実現したいこと
// 平日ダイヤか土・休日ダイヤかを判定する
function dayJudge(year, month, date, day) {
// 特殊ダイヤの日付判定
const isSpecialDay = date === 29 && month === 1;
// 曜日判定 const isWeekday = day >= DayOfWeek.MONDAY && day <= DayOfWeek.FRIDAY; const isHoliday = holidays.some(holiday => holiday.year === year && holiday.month === month && holiday.date === date); // 平日ダイヤか土・休日ダイヤかを判定 if (isSpecialDay) { // 特殊ダイヤの場合 return "special"; } else if (isWeekday && !isHoliday) { // 平日ダイヤの場合 return "weekday"; } else if (day === DayOfWeek.SATURDAY) { // 土曜日の場合 return "saturday"; } else if (day === DayOfWeek.SUNDAY) { // 日曜日の場合 return "sunday"; } else { // その他の場合は平日ダイヤとして扱う return "weekday"; }
}
→ const isSpecialDay = date === 29 && month === 1;が const isSpecialDay = date === 30 && month === 1;に変えたら、列車の動きが変わるようにしたいです。
発生している問題・分からないこと
const isSpecialDay = date === 29 && month === 1;→ const isSpecialDay = date === 30 && month === 1;にしても変わらない。
具体的には、1月29日から1月30日に変更した場合、1月29日の状態であれば、表示が出ていたものを、
1月30日になれば、表示が出なくなるようにしたいです。
該当のソースコード
javascript
1// 祝日リスト 2const holidays = [ 3 { year: 2013, month: 1, date: 1 }, 4 { year: 2013, month: 10, date: 14 }, 5 { year: 2013, month: 11, date: 4 }, 6 { year: 2013, month: 12, date: 23 }, 7 { year: 2014, month: 1, date: 1 }, 8 { year: 2014, month: 1, date: 2 }, 9 { year: 2014, month: 1, date: 3 }, 10 { year: 2014, month: 1, date: 13 }, 11 { year: 2014, month: 2, date: 11 }, 12 { year: 2014, month: 3, date: 21 }, 13 { year: 2014, month: 4, date: 29 }, 14 { year: 2014, month: 5, date: 5 }, 15 { year: 2014, month: 7, date: 21 }, 16 { year: 2014, month: 9, date: 15 }, 17 { year: 2014, month: 9, date: 23 }, 18 { year: 2014, month: 10, date: 12 }, 19 { year: 2014, month: 11, date: 3 }, 20 { year: 2014, month: 11, date: 24 }, 21 { year: 2014, month: 12, date: 23 }, 22 { year: 2015, month: 1, date: 1 }, 23 { year: 2015, month: 1, date: 2 }, 24 { year: 2015, month: 1, date: 3 }, 25 { year: 2015, month: 1, date: 12 }, 26 { year: 2015, month: 2, date: 11 }, 27 { year: 2015, month: 3, date: 21 } 28]; 29 30// 平日ダイヤか土・休日ダイヤかを判定する 31function dayJudge(year, month, date, day) { 32 // 特殊ダイヤの日付判定 33 const isSpecialDay = date === 29 && month === 1; 34 35 // 曜日判定 36 const isWeekday = day >= DayOfWeek.MONDAY && day <= DayOfWeek.FRIDAY; 37 const isHoliday = holidays.some(holiday => holiday.year === year && holiday.month === month && holiday.date === date); 38 39 // 平日ダイヤか土・休日ダイヤかを判定 40 if (isSpecialDay) { 41 // 特殊ダイヤの場合 42 return "special"; 43 } else if (isWeekday && !isHoliday) { 44 // 平日ダイヤの場合 45 return "weekday"; 46 } else if (day === DayOfWeek.SATURDAY) { 47 // 土曜日の場合 48 return "saturday"; 49 } else if (day === DayOfWeek.SUNDAY) { 50 // 日曜日の場合 51 return "sunday"; 52 } else { 53 // その他の場合は平日ダイヤとして扱う 54 return "weekday"; 55 } 56} 57
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
チャットgptを使用しましたが、満足のいく結果が得られなかった。
補足
