Qraft(クラフト) 資格・学習クイズアプリ

JavaScript入門 練習問題 75:組み込みオブジェクト:配列の最大値取得

📊 Qraftユーザーの成績

  • 難易度 Cランク(レーティング1163)
  • 難易度 1788位/2795問中
  • 正答率 100%(1/1回正解)
レーティングは解いた人の実力と正誤から算出する難しさ(初期値1200)。ランクはその全問題中の順位(S+が最難関、F-が最易)

次のコードを実行したときのコンソールへの出力として正しいものはどれですか?

```javascript
const scores = [85, 92, 78];
const highest = Math.max(...scores);
console.log(highest);
```

  1. コンソールに 92 という数値が出力される。
  2. コンソールに NaN という結果が出力される。
  3. コンソールに 85 という数値が出力される。
  4. コンソールに [92] という配列が出力される。
  5. スプレッド構文が不正でエラーが発生する。
正解と解説を見る
正解:コンソールに 92 という数値が出力される。

`Math.max()` は引数として渡された複数の数値の中から最大値を返すメソッドであり、配列を直接渡すことはできませんが、スプレッド構文(`...`)を使うことで配列の要素を展開して渡すことができます。正解は配列内の最大値が出力される選択肢です。

【正解の理由】
`...scores` によって `Math.max(85, 92, 78)` のように要素が個別の引数として展開されるため、最大値である `92` が正しく取得されます。

【不正解の理由】
• 「コンソールに NaN という結果が出力される。」は、展開せず配列そのものを渡した場合の結果であり誤り
• 「コンソールに 85 という数値が出力される。」は、最大値ではなく先頭の要素であり誤り
• 「コンソールに [92] という配列が出力される。」は、戻り値が配列になるという説明が誤り
• 「スプレッド構文が不正でエラーが発生する。」は、この構文が正当なJavaScriptの書き方であるため誤り

← 前の問題問題一覧次の問題 →
アプリで解いてレーティングを上げる(無料・登録不要)