JavaScriptで、ある条件の式の記述がわからず困っています。
既存のJSを改修しようと思っていますが、知識が足らずに行き詰まりました。
内容
a,b,c,dと4つの箱があり、それぞれ最大3点ずつ得点が入れることができ,0~12点までの得点内容によって結果を5つ表示させたい。
条件
・トータルポイントが0~1点の時、結果0を表示。
・トータルポイントが2~12点の時、
aが一番得点が多い時、結果1を表示。
bが一番得点が多い時、結果2を表示。
cが一番得点が多い時、結果3を表示。
dが一番得点が多い時、結果4を表示。
・得点が同点だった場合、a>b>c>dとなり、結果1を表示。
なんとか自力で下記のような記述をしましたが、結果表示が思ったようになりません。
また、初期変数の記述は省いています。
if(totalPoint <= 1){
resultNum = 0;
} else if(totalPoint >= 2){
if(a >= b >= c >= d >= 1){
resultNum = 1;
} else if(b >= c >= d >= 1){
resultNum = 2;
} else if(c >= d >= 1){
resultNum = 3;
} else if(d >= 1){
resultNum = 4;
}
演算子も含め、どのような記述であればスマートでしょうか?
ご教授いただけますと幸いです。
よろしくお願いいたします。
No.3
- 回答日時:
resultNum = 1;
if(totalPoint <= 1){
resultNum = 0;
} else if(totalPoint >= 2){
var maxPoint = Math.max(a, b, c, d);
if (a === maxPoint) {
resultNum = 1;
} else if (b === maxPoint) {
resultNum = 2;
} else if (c === maxPoint) {
resultNum = 3;
} else if (d === maxPoint) {
resultNum = 4;
}
}
No.2
- 回答日時:
こんな感じじゃない?
switch(Math.max(a,b,c,d)){
case a:
resultNum = 1;
break;
case b:
resultNum = 2;
break;
case c:
resultNum = 3;
break;
case d:
resultNum = 4;
break;
}
No.1ベストアンサー
- 回答日時:
>if(a >= b >= c >= d >= 1){
入門書を読んで、比較演算子の意味を理解しましょう。
if(totalPoint >=0 && totalPoint <= 1){
resultNum = 0;
} else if(a >= b && a >=c && a>=d){
resultNum = 1;
} else if(b >=c && b >=d && b >=a){
resultNum = 2;
} else if(c >= d && c >=a && c >= b){
resultNum = 3;
} else {
resultNum = 4;
}
お早い回答ありがとうございます!
なるほど、このような記述になるのですね。
入門書読んで修行します!
ありがとうございますした!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- C言語・C++・C# c言語 1 2022/11/09 13:05
- Excel(エクセル) エクセルで得点に対応する文字を求める 3 2023/05/31 09:18
- C言語・C++・C# C言語 3 2022/11/09 13:27
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- Excel(エクセル) SUMIFのIF分岐について 4 2023/04/15 12:57
- 会計ソフト・業務用ソフト Excel IF構文内の計算式を有効にする方法 2 2023/03/22 11:27
- C言語・C++・C# 10人分の生徒の英語の点数{32,34,41,38,40,26,14,46,42,50} と数学の点 2 2022/05/26 21:31
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XMLを作成してもタグしか表示さ...
-
ツールチップの表示時間の調整
-
キーフレーム
-
\\n \\r \\t について
-
GoogleChromeでレイアウトが左...
-
ボタンコントロールのTEXT...
-
AfterEffectsでイージーイーズ...
-
accesskeyに使える文字を全部教...
-
DBからPDFを取得して別画面で表...
-
連続した<span>の改行
-
ふぬああの音ずれを直す方法を...
-
動画aviファイルのHTML組み...
-
html上で改行するとスペースが...
-
aviutlで最後まで動画が読み込...
-
プルダウン(リストボックス)の...
-
pdfファイルをFrameMakerに取り...
-
「:」について
-
DeepLでエクセルのA列の英文の...
-
長いURLを途中で改行(折り返す...
-
ASP.NET TextBox 入力制限
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
XMLを作成してもタグしか表示さ...
-
リンク先のURLを非表示にし...
-
ツールチップの表示時間の調整
-
テキストドキュメントのプレビ...
-
タンブラーにつながらない
-
PDFをブラウザに埋め込み表示す...
-
表示の食い違いの原因(C:\\Users)
-
HTML上で数式を表示したい
-
HP作成中のトラブルについて
-
MSNのサイトの表示がおかしい
-
パソコンの画面がワイドになり...
-
テーブルのセルデータを自動改...
-
GoogleChromeでレイアウトが左...
-
テキストエリア内の改行禁止
-
AfterEffectsでイージーイーズ...
-
キーフレーム
-
長いURLを途中で改行(折り返す...
-
H1タグに改行の<br>を使う
-
プルダウンメニューの開く方向...
-
埼玉県内にUFOキャッチャーで突...
おすすめ情報