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

JavaScript入門 練習問題 65:配列メソッド:要素の反転と破壊的操作

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

```javascript
const letters = ['a', 'b', 'c'];
const result = letters.reverse();
console.log(letters[0], result[0]);
```

  1. a と c
  2. c と c
  3. c と a
  4. a と a
  5. undefined と c
正解と解説を見る
正解:c と c

`reverse`メソッドは元の配列自体を変更(破壊的操作)して反転させるため、元の配列も戻り値の配列も先頭要素は「c」になります。

【正解の理由】
配列の `reverse` メソッドは、配列の要素の順番を逆順にします。重要な特徴として、新しい配列を作るのではなく、元の配列そのものを書き換えます(破壊的メソッド)。戻り値もその書き換えられた元の配列への参照となるため、`letters` と `result` は実質的に同じ配列を指しており、どちらの先頭要素(インデックス0)も `'c'` になります。

【不正解の理由】
• 『a と c』という説明は誤り。元の配列は変更されないと勘違いしている場合の出力
• 『c と a』という説明は誤り。両方の変数が指している配列の状態と一致しない
• 『a と a』という説明は誤り。反転処理が行われているため先頭は `'a'` ではなくなる
• 『undefined と c』という説明は誤り。元の配列が消失するわけではないため値は取得できる

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