概要
Array.prototype.splice()
は、インデックスを指定して文字列の削除、取出し、置換、挿入が行える。splice()
は破壊的であり、元の配列の内容が書き換えられる。
要素の取出し・削除
以下の例では、2番目の位置から1つの要素を取り出している。取り出された要素は(要素数が1つであっても)配列として返され、元の配列からは指定した要素が削除される。すなわちslice()
は破壊的に動作する。
1 2 3 4 5 6 7 8 |
array = ['zero', 'one', 'two', 'three']; removed = array.splice(2, 1); console.log(removed); console.log(array); // ["two"] // ["zero", "one", "three"] |
要素の置換
次の例では、1番目の位置から2つの要素を削除し、その位置に2つの要素を新たに挿入している。
1 2 3 4 5 6 |
array = ['zero', 'one', 'two', 'three']; array.splice(1, 2, '1st', '2nd') console.log(array); // ["zero", "1st", "2nd", "three"] |
要素の挿入
位置だけ指定して削除する文字数を0にすれば、文字列の挿入ができる。
1 2 3 4 5 6 |
array = ['zero', 'one', 'two', 'three']; array.splice(1, 0, 'half'); console.log(array); // ["zero", "half", "one", "two", "three"] |