質問内容
Javascriptの勉強を始めたばかりの者です。
本日ProgateのJavascriptコースの問題に取り組んだのですが、
正解判定だったものの自分の回答と見本のコードの違いについて、
不明な点があったのでご質問させていただきたいです。
以下が問題の内容です
①アロー関数を用いて、getMax関数を定義してください。
(ただし、a,b,cの3つの引数を取るようにすること)
②引数a,b,cのうち一番大きい値を戻り値にすること
③getMax関数を用いてnumber1, number2, number3の最大値を取得し、
最大値は○○です
となるように出力してください。
(○○の部分に最大値が入ります)
私はa,b,cの3つの値の最大値は
「b>maxかつb>c」の場合b、「c>maxかつc>b」の場合c
と考えました。
ところが見本コードを確認すると
「b>max」なら最大値b、「c>max」なら最大値cなっており
bとcの大小を比較していないことに違和感を感じました。
私のコード、考え方の中で間違っている箇所がありましたら、ご指摘いただきたいです。
初学者のつたない質問で大変恐縮ですが、よろしくお願いいたします。
自分のコード
const number1 = 103; const number2 = 72; const number3 = 189; // getMax関数を定義してください const getMax = (a,b,c) => { let max = a; if(b > max && b > c){ max = b; } else if(c > max && c > b){ max = c; } return max; }; // 「最大値は○○です」と出力してください console.log(`最大値は${getMax(number1,number2,number3)}です`);
見本コード
const number1 = 103; const number2 = 72; const number3 = 189; // getMax関数を定義してください const getMax = (a, b, c) => { let max = a; if (b > max) { max = b; } if (c > max) { max = c; } return max; }; // 「最大値は○○です」と出力してください const max = getMax(number1, number2, number3); console.log(`最大値は${max}です`);
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。