2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【JavaScript】spliceの使い方まとめ

Last updated at Posted at 2025-08-20

spliceとは何か

spliceとは、配列に対して 要素の追加・削除・置換 を行うメソッドです。
元の配列自体を直接変更する点が特徴です。

spliceの基本構文

array.splice(開始位置, 削除数, 挿入する値1, 挿入する値2, ...)
  • 開始位置:変更を開始するインデックス(0から始まる)
  • 削除数:削除する要素数(0の場合は削除なし)
  • 挿入する値1, 挿入する値2, ...:追加する要素(省略可)

これに実際の値を入れてみると、下のようになります。

const array = ['a', 'b', 'c', 'd', 'e'];

// インデックス2から2つ削除し、'X', 'Y' を挿入
array.splice(2, 2, 'X', 'Y');

console.log(array); 
// 結果: ['a', 'b', 'X', 'Y', 'e']

こんな感じで配列の中身を変えることができるのがspliceの役割ですね。

使用例

1. 要素の削除

const array = [1, 2, 3, 4];
array.splice(1, 2);  
console.log(array); // [1, 4](インデックス1から2つ削除)

2. 要素の追加

const array = [1, 4];
array.splice(1, 0, 2, 3);  
console.log(array); // [1, 2, 3, 4](インデックス1の位置に2と3を追加)

3. 要素の置換

const array = ['a', 'b', 'c', 'd'];
array.splice(1, 2, 'x', 'y');  
console.log(array); // ['a', 'x', 'y', 'd']('b'と'c'を'x'と'y'に置換)

4. 配列末尾の削除

const array = [10, 20, 30];
array.splice(-1, 1);  
console.log(array); // [10, 20](最後の1要素を削除)

特徴と注意点

  • 元の配列が直接変更される(破壊的メソッド)
  • 削除要素は配列として返される
  • 負のインデックスを指定すると末尾からの位置として扱われる

spliceは元の配列を直接変更しますが、これの対応として、「toSpliced」があります。
toSpliced は 元の配列を変更せず、要素を削除・置換した新しい配列を返します。
「破壊的なsplice」に対して、「安全なコピー配列を返すtoSpliced」と覚えるとわかりやすいです。

const array = [1, 2, 3, 4, 5];

// 2番目の要素から2つ削除
const newArray = array.toSpliced(1, 2);

console.log(newArray); // [1, 4, 5]
console.log(array);    // [1, 2, 3, 4, 5] ← 元の配列はそのまま
2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?