【JavaScript】splice()を使って配列の中の要素を編集・削除する方法
「splice()」はJavaScriptの配列を編集・削除する便利なメソッドで、要素の追加や削除に使用されます。注意点として、元の配列が変更されることと、返り値に変更された要素の配列が含まれることが挙げられます。
3行で要約すると
splice()
は配列の要素を編集・削除するためのメソッド- 引数によって、要素の追加や削除の動作を制御できる
- 類似のメソッドとして
slice()
があり、使い方や使い分けを理解することが大切
「splice()」の基本的な使い方
「splice()」とは?
splice()
メソッドは、配列の中の要素を編集・削除するためのものです。具体的には、配列の特定の位置から複数の要素を削除し、必要に応じて新しい要素を追加します。
let fruits = ["apple", "banana", "cherry"];
fruits.splice(1, 1, "grape");
console.log(fruits); // ["apple", "grape", "cherry"]
この例では、"banana"を"grape"に変更しています。
「splice()」の引数について
splice()
メソッドを使用する際には、いくつかの引数を指定することで、どのように配列を変更するのかを制御します。
- 第一引数: この引数は、操作を開始する要素のインデックスを指定します。もし負の値が指定された場合、配列の末尾からの位置として解釈されます。
- 第二引数: この引数は、削除する要素の数を指定します。0を指定した場合、要素は削除されません。
- 第三引数以降: 削除した位置に追加する新しい要素を指定します。指定しない場合、要素は追加されません。
let animals = ["dog", "cat", "elephant"];
animals.splice(2, 0, "rabbit");
console.log(animals); // ["dog", "cat", "rabbit", "elephant"]
この例では、"elephant"の前に"rabbit"を追加しています。
「splice()」の使用例4パターン
要素を削除する
let numbers = [1, 2, 3, 4, 5];
numbers.splice(1, 3);
console.log(numbers); // [1, 5]
この例では、インデックス1から3つの要素を削除しています。
要素を置き換える
let colors = ["red", "green", "blue"];
colors.splice(1, 1, "yellow");
console.log(colors); // ["red", "yellow", "blue"]
"green"を"yellow"に置き換えています。
要素を追加する
let animals = ["dog", "cat"];
animals.splice(1, 0, "rabbit");
console.log(animals); // ["dog", "rabbit", "cat"]
"cat"の前に"rabbit"を追加しています。
複数の要素を追加する
let cities = ["Tokyo", "Osaka"];
cities.splice(1, 0, "Kyoto", "Hiroshima");
console.log(cities); // ["Tokyo", "Kyoto", "Hiroshima", "Osaka"]
"Osaka"の前に"Kyoto"と"Hiroshima"を追加しています。
「splice()」と「slice()」
「slice()」とは?
slice()
メソッドは、配列の部分配列や文字列の部分文字列を取得するためのものです。
let items = ["a", "b", "c", "d", "e"];
let subItems = items.slice(1, 4);
console.log(subItems); // ["b", "c", "d"]
「splice()」と「slice()」の違い
主な違いは、splice()
は元の配列を変更するのに対して、slice()
は元の配列に影響を与えません。また、splice()
は要素の追加も可能ですが、slice()
はそれができません。
let items1 = ["a", "b", "c"];
items1.splice(1, 1);
console.log(items1); // ["a", "c"]
let items2 = ["a", "b", "c"];
let result = items2.slice(1, 2);
console.log(items2); // ["a", "b", "c"]
console.log(result); // ["b"]
「splice()」を使用する際の注意点
元の配列が変更される
splice()
は元の配列を直接変更するメソッドです。そのため、元の配列のデータを維持したい場合、予めコピーしておく必要があります。
let originalArray = [1, 2, 3, 4];
let copiedArray = [...originalArray];
copiedArray.splice(1, 2);
console.log(originalArray); // [1, 2, 3, 4]
console.log(copiedArray); // [1, 4]
splice()の返り値に注意
splice()
メソッドを使用すると、削除された要素が返り値として返されます。この挙動を知らずに使うと、意図しない動作が発生する可能性があるので注意が必要です。
let fruits = ["apple", "banana", "cherry"];
let removed = fruits.splice(1, 1);
console.log(fruits); // ["apple", "cherry"]
console.log(removed); // ["banana"]
「splice()」の使い方まとめ
splice()
は非常に便利なメソッドで、配列の要素の編集や削除を手軽に行うことができます。ただし、元の配列を変更する点や、返り値に関する点など、注意が必要な部分もあるため、しっかりと使い方を理解して利用しましょう。