JavaScript入門 練習問題 55:配列メソッド:要素の部分的な置換や削除
次のコードを実行したときのコンソールへの出力として正しいものはどれですか?
```javascript
const colors = ['red', 'blue', 'green'];
colors.splice(1, 1, 'yellow');
console.log(colors);
```
- ['red', 'yellow', 'green']
- ['yellow', 'blue', 'green']
- ['red', 'blue', 'yellow']
- ['red', 'yellow', 'blue']
- ['yellow', 'red', 'blue']
正解と解説を見る
正解:['red', 'yellow', 'green']
次のコードの実行結果は、インデックス1の要素「'blue'」が「'yellow'」に置き換わった「['red', 'yellow', 'green']」となります。
【正解の理由】
`splice`メソッドは、配列の要素を追加、削除、または置換するためのメソッドです。第1引数は変更を開始するインデックス(ここでは1)、第2引数は削除する要素の数(ここでは1)、第3引数以降は追加する要素(ここでは'yellow')を指定します。したがって、インデックス1の「'blue'」が1つ削除され、そこに「'yellow'」が挿入されます。
【不正解の理由】
• 「['yellow', 'blue', 'green']」という結果は、インデックス0の要素が変更された場合のものであり誤り
• 「['red', 'blue', 'yellow']」という結果は、末尾の要素が変更された場合のものであり誤り
• 「['red', 'yellow', 'blue']」という結果は、インデックス2の要素が削除され、インデックス1に挿入された場合のものであり誤り
• 「['yellow', 'red', 'blue']」という結果は、先頭に要素が挿入され、末尾が削除された場合のものであり誤り