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

JavaScript入門 練習問題 69:配列メソッド:要素の検索

📊 Qraftユーザーの成績

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

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

```javascript
const animals = ['cat', 'dog', 'bird'];
const index = animals.indexOf('fish');
console.log(index);
```

  1. 数値の `-1` が出力される。
  2. 数値の `0` が出力される。
  3. 論理値の `false` が出力される。
  4. 特殊な値 `null` が出力される。
  5. `undefined` が出力される。
正解と解説を見る
正解:数値の `-1` が出力される。

indexOfメソッドは配列内に指定された要素が存在しない場合、常に戻り値として -1 を返すため、数値の -1 が正解です。

【正解の理由】
`indexOf('fish')`は配列内に'fish'という文字列が存在するか先頭から検索します。見つかった場合はそのインデックス(0以上の整数)を返しますが、見つからなかった場合は特殊な仕様として `-1` を返します。

【不正解の理由】
• 「数値の `0` が出力される。」という説明は誤り。0は配列の最初の要素('cat')を検索した際の戻り値である
• 「論理値の `false` が出力される。」という説明は誤り。真偽値を返すのはincludes()メソッドなどの場合である
• 「特殊な値 `null` が出力される。」という説明は誤り。存在しない要素のインデックスとしてnullが返されることはない
• 「`undefined` が出力される。」という説明は誤り。存在しないプロパティにアクセスした時などとは異なり、indexOfは明確に-1を返す

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