簡単な論理演算子の問題です。例えば、WEEKDAY_MARCH_SPECIALとSPECIALと平日を同時に表示したいです。

実現したいこと

diaDay === DiaType.WEEKDAY_MARCH_SPECIAL)と(diaDay === DiaType.SPECIAL)と(value === "平日")を同時に表示。 逆に、 diaDay === DiaType.HOLIDAY_MARCH_SPECIAL)と(diaDay === DiaType.SPECIAL2)と(value === "平日")を同時に表示したいです。

発生している問題・分からないこと

論理演算子の組み合わせがわからないです。

該当のソースコード

javascript

// 各列車が本日運転する列車なのかそうでないのかを判定する
// 引数はその列車の運転日情報 例:平日 全日 土・休日
function judgeTrainRunningDay(value) {
// 3月16日から31日までの間に運行する列車のみを表示
if ((diaDay === DiaType.WEEKDAY_MARCH_SPECIAL) && (value === "平日")) return true;
if ((diaDay === DiaType.HOLIDAY_MARCH_SPECIAL) && (value === "土休日")) return true;
if ((diaDay === DiaType.SPECIAL || diaDay === DiaType.SPECIAL2) && (value === "平日" || value === "休日")) return true;

// 特定の期間中の運休条件を非表示にする if ((diaDay === DiaType.WEEKDAY_MARCH_SPECIAL || diaDay === DiaType.HOLIDAY_MARCH_SPECIAL) && (value === "3月16日→3月31日・5月3日→6日平日運休"||value === "3月16日→3月31日・5月3日→6日土休日運休")) return false; // それ以外の場合は通常の条件判定を行う if (value === "全日") return true; if ((value === "3月16日→3月31日・5月3日→6日平日運休") || value === "平日" && (diaDay === DiaType.WEEKDAY || diaDay === DiaType.SPECIAL || diaDay === DiaType.SPECIAL2)) return true; if (value === "土曜・休日運休" && (diaDay === DiaType.WEEKDAY || diaDay === DiaType.SPECIAL || diaDay === DiaType.SPECIAL2)) return true; if (value === "毎日運転" && (diaDay === DiaType.WEEKDAY || diaDay === DiaType.SPECIAL || diaDay === DiaType.SPECIAL2)) return true; if ((value === "3月16日→3月31日・5月3日→6日土休日運休") || value === "休日" && (diaDay === DiaType.HOLIDAY || diaDay === DiaType.SPECIAL || diaDay === DiaType.SPECIAL2)) return true; if (value === "土休日" && (diaDay === DiaType.HOLIDAY || diaDay === DiaType.SPECIAL || diaDay === DiaType.SPECIAL2)) return true; if (value === "土・休日" && (diaDay === DiaType.HOLIDAY || diaDay === DiaType.SPECIAL || diaDay === DiaType.SPECIAL2)) return true; if (value === "土曜・休日運転" && (diaDay === DiaType.HOLIDAY || diaDay === DiaType.SPECIAL || diaDay === DiaType.SPECIAL2)) return true; if (value === "毎日運転" && (diaDay === DiaType.HOLIDAY || diaDay === DiaType.SPECIAL || diaDay === DiaType.SPECIAL2)) return true; if (value === "毎日運転" && (diaDay === DiaType.HOLIDAY_MARCH_SPECIAL)) return true; if (value === "10月9/12/31日・11月3/21/24日" && ((diaDay === DiaType.SPECIAL)||(diaDay === DiaType.SPECIAL2))) return true; if (value === "10月12日・11月3/24日" && diaDay === DiaType.SPECIAL) return true; if (value === "3月16日→3月31日・5月3日→6日運転" && (diaDay === DiaType.WEEKDAY_MARCH_SPECIAL || diaDay === DiaType.HOLIDAY_MARCH_SPECIAL)) return true; return false;

}

試したこと・調べたこと

上記の詳細・結果

チャットgptやgeminiを当たったが的確な回答が得られなかったです。
逆に、DiaType.WEEKDAY_MARCH_SPECIALと平日を同時に表示することは成功しています。
JS文を部分的にではなく残さず書いていただければ幸いです。
return true;ないし、return false;を用いた回答方法だとありがたいです。

補足

特になし

コメントを投稿

0 コメント