spliceメソッド
メソッド splice は、配列から要素を削除または追加します。
要素を削除するだけ、追加するだけ、またはその両方を同時に行うことができます。
このメソッドは非常に汎用的で、理解するのが難しいものです。
メソッドは配列自体を変更し、その際に削除された要素の配列を返します。
最初のパラメータとして、メソッドは削除する配列要素の番号を受け取ります。
2番目のパラメータは、削除する配列要素の数です。
これを 0 に設定すると、要素は削除されません(新しい要素が追加されるだけです)。
その後、カンマ区切りで、配列に追加する必要がある要素が続きます(これらはオプションのパラメータです)。
これらの要素は、削除された配列要素の代わりに追加されます。
削除が行われなかった場合(2番目のパラメータが 0 のとき)、要素はメソッドの最初のパラメータで指定された位置から配列に挿入されます。
最初のパラメータは負の値を持つことがあります。
この場合、位置のカウントは配列の先頭からではなく、末尾から始まります。
最後の要素は -1 番になります。
構文
配列.splice(削除開始位置, 削除する要素数, [挿入する要素], [挿入する要素]...);
例
最初の要素から始めて、3つの要素を削除してみましょう:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(1, 3);
console.log(arr);
コード実行結果:
['a', 'e']
例
削除された要素の配列を出力してみましょう:
let arr = ['a', 'b', 'c', 'd', 'e'];
let del = arr.splice(1, 3);
console.log(del);
コード実行結果:
['b', 'c', 'd']
例
まず 2 番目の要素を削除し、その後、その代わりにさらに3つの新しい要素を挿入してみましょう:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 1, '1', '2', '3');
console.log(arr);
コード実行結果:
['a', 'b', '1', '2', '3', 'd', 'e']
例
今度は何も削除せず、位置 2 にさらに3つの新しい要素を挿入してみましょう:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 0, '1', '2', '3');
console.log(arr);
コード実行結果:
['a', 'b', '1', '2', '3', 'c', 'd', 'e']
例 . 負の値
最後から2番目の要素を削除してみましょう:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(-2, 1);
console.log(arr);
コード実行結果:
['a', 'b', 'c', 'e']