それでは「slice と splice の使い分け」を意識した 応用練習問題 を出してみますね。解答と解説もつけます。
応用練習問題
問題1:最後の3件を取り出す
次の配列から「最後の3件」だけを取り出して新しい配列を作りたい。
どちらを使うべきでしょうか?また、コードを書いてください。
const logs = [65, 70, 84, 90, 77];
JavaScript問題2:先頭の要素を削除したい
次の配列から「先頭の1件」を削除して、残りを元の配列に残したい。
どちらを使うべきでしょうか?また、コードを書いてください。
const letters = ['a', 'b', 'c', 'd'];
JavaScript問題3:途中に要素を挿入したい
次の配列の「インデックス2」に 'X' を挿入して、元の配列を更新したい。
どちらを使うべきでしょうか?また、コードを書いてください。
const nums = [10, 20, 30, 40];
JavaScript解答と解説
問題1
👉 slice を使う(元を壊さずコピーしたいから)
const logs = [65, 70, 84, 90, 77];
const lastThree = logs.slice(-3);
console.log(lastThree); // [84, 90, 77]
console.log(logs); // [65, 70, 84, 90, 77](元はそのまま)
JavaScript問題2
👉 splice を使う(元の配列から削除したいから)
const letters = ['a', 'b', 'c', 'd'];
letters.splice(0, 1);
console.log(letters); // ['b', 'c', 'd']
JavaScript問題3
👉 splice を使う(途中に挿入して元を更新したいから)
const nums = [10, 20, 30, 40];
nums.splice(2, 0, 'X');
console.log(nums); // [10, 20, 'X', 30, 40]
JavaScriptまとめ
- slice → 部分配列をコピーしたいとき(元を壊さない)
- splice → 元の配列を直接編集したいとき(削除・追加・置換)
