- ベストアンサー
if関数で選択肢を使うことはできるか
- if関数を使用して、aまたはbまたはcという選択肢を使うことはできますか?
- if関数での選択肢の使用方法について説明してください。
- 特定の条件に応じて異なる結果を得るために、if関数で選択肢を使うことができますか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>では、10月12日、11月3日、11月24日に実際になったときにだけ、画面>に表示されるようにして、それ以外の日は、 >画面上に表示されないというのは可能ですか。 可能かどうかは、可能です。 if (dayJudge(year, month, date, day)==diagram.A) { // 画面に表示される }else{ // 画面上に表示されない } (書かれている補足に対してのみなので、これで全文です) 質問に足りていない情報があるのではないか?と 感じているので、思った通りにはならないはずです。 なので、これでは、堂々巡りになっており、 解決からどんどん遠ざかってしまう為、 一旦この板は離脱します。 が、質問は、 >if関数で、aまたはbまたはcという選択できますか なので、これについては最初に投稿した通り 「可能です」が最終回答になります。 備考 ver num=1; → ver ではなく var 。この場合はletをお勧めします。 if(x=1||x=3||x=5){ →作った変数はxではなく、numなので、それが原因 "="(イコール)を1回では代入式なので、比較式である"=="(イコールを2回)にすれば、正しく動作します。 こういう場合、JavaScriptのデバッガーでエラーの原因や 治し方も記載されているので、これらを参考にするのもよいでしょう。
その他の回答 (2)
- AsarKingChang
- ベストアンサー率46% (3467/7474)
そもそもですが、「特別ダイヤ」が宣言されていない気がしますが。 //ダイヤタイプの定義 const diagram = { WeekDay: 1, //平日ダイヤ Holiday: 2, //休日ダイヤ A: 3, //Aダイヤ B: 4, //Bダイヤ C: 5, //Cダイヤ } //特別な日 if((month == 10 && date == 12)||(month == 11 && date == 3)||(month == 11 && date == 24)) { diagramFlag = diagram.A; } 言われてる判定はすでにここで行っていますが。 「特別ダイヤ」ではなく、「Aダイヤ」を選択しています。 なのであれば、diagram これに、「特別ダイヤ」を 追加して、diagramFlag = diagram.A;を新しく 追加した、「特別ダイヤ」のキーにすればいいのではないかと。 しかし、しかし、それでは、diagram.A;を参照する ソースがなくなることになるので、だとすると、 質問文に何か情報が足りてない事になってしまうのです。 どういう時何が出ているのを治したいのか? という要件定義に戻る必要があると思います つまり、原因は、 「特別ダイヤ」と「Aダイヤ」を区別する 要件定義がない事が問題なのだと、推測します。 ロジックに関して全文書かせていただきましたが、 いかがでしょうか?
- AsarKingChang
- ベストアンサー率46% (3467/7474)
if関数で、aまたはbまたはcという選択できますか。 ver num=1; if(x=1||x=3||x=5){ console.log("true"); } else{ console.log("folse"); }。 といった書き方はできませんか。 結論はできます。 if(x=1||x=3||x=5){ ただしこれは「代入」になるので、 if ( x==1 || x==3 || x==5 ) と記載してください。 なお、または(OR)ではなく かつ(AND)の場合は&&も使用できます。 ==演算子よりも||の優先度は低いため、 (x==1) || ... と括弧を使う必要はありません。
補足
では、10月12日、11月3日、11月24日を特別ダイヤとする際、どのように書き換えればよいのでしょうか。 以下のようなjsだと、うまく動作しません。 僕は天才じゃないため、断片的な情報から組み合わせて、 一つのものを作り上げる能力はありません。 全部お教えください。 //ダイヤタイプの定義 const diagram = { WeekDay: 1, //平日ダイヤ Holiday: 2, //休日ダイヤ A: 3, //Aダイヤ B: 4, //Bダイヤ C: 5, //Cダイヤ } //ダイヤを判定する function dayJudge(year, month, date, day) { //フラグ(初期値:平日ダイヤ) var diagramFlag = diagram.WeekDay; //土日判定 if(day == 0 || day == 6) { diagramFlag = diagram.Holiday; } //特別な日 if((month == 10 && date == 12)||(month == 11 && date == 3)||(month == 11 && date == 24)) { diagramFlag = diagram.A; } else if(month == 5 && date == 25) { diagramFlag = diagram.B; } else if(month == 5 && date == 30) { diagramFlag = diagram.C; } return diagramFlag; } ができなくて困っています。
補足
では、10月12日、11月3日、11月24日に実際になったときにだけ、画面に表示されるようにして、それ以外の日は、 画面上に表示されないというのは可能ですか。 以下を参考にしています。 http://r113.web.fc2.com/p/viewer/jrw-hokuriku-20150314/index.html 僕は天才じゃないため、断片的な情報から組み合わせて、 一つのものを作り上げる能力はありません。 全部お教えください。