.splice()
splice()メソッドは古い要素の削除しながら、新しい要素を追加することで、配列の内容を変更します。
文法
array.splice(index , howMany[, element1[, ...[, elementN]]])
引数 | 説明 |
---|---|
index |
配列の変更を開始するインデックスを指定します。
もし配列のlength の値より大きい場合、実際の開始インデックスは配列のlength が設定されます。
負の値の場合、終端から数えたインデックスで開始します。
|
howMany |
削除する古い配列要素の数を指定します。
もしhowMany が0であれば、要素は削除されません。
この場合、新しい要素を少なくとも1つ指定する必要があります。
もし、howMany がindexの開始位置以降の要素の数より大きい場合、
配列の最後までの要素を全て削除します。
|
element1, ..., elementN |
追加する配列を指定します。
ここに要素を指定しなければ、splice は単に配列から要素を削除するのみになります。
|
戻り値 | |
削除された配列が含まれる配列が返ります。 もし1つだけ要素を削除すると、1つの要素を含む配列が返されます。 もし何も配列を削除しなければ、空の配列が返されます。 |
説明
削除する数とは異なる数の要素を挿入する場合、
その配列は結果的に異なるlength
を持つことになります。
例
spliceの使用例
下記のスクリプトは、splice
の使用方法を示しています。
var myFish = ["angel", "clown", "mandarin", "surgeon"];
//インデックス2番目から、0個の要素を削除し、"drum"を挿入
var removed = myFish.splice(2, 0, "drum");
//myFish : ["angel", "clown", "drum", "mandarin", "surgeon"]
//removed : []
//インデックス3番目から、1つの要素を削除
removed = myFish.splice(3, 1);
//myFish : ["angel", "clown", "drum", "surgeon"]
//removed : ["mandarin"]
//インデックス2番目から、1つの要素を削除し、"trumpet"を挿入
removed = myFish.splice(2, 1, "trumpet");
//myFish : ["angel", "clown", "trumpet", "surgeon"]
//removed : ["drum"]
//インデックス0番目から、2つの要素を削除し、"parrot","anemone","blue"を挿入
removed = myFish.splice(0, 2, "parrot", "anemone", "blue");
//myFish : ["parrot", "anemone", "blue", "trumpet", "surgeon"]
//removed : ["angel", "clown"]
//インデックス3番目から、2つの要素を削除
removed = myFish.splice(3, Number.MAX_VALUE);
//myFish : ["parrot", "anemone", "blue"]
//removed : ["trumpet", "surgeon"]
仕様
ブラウザ互換性
機能 | Chrome | Firefox (Gecko) |
IE | Opera | Safari |
---|---|---|---|---|---|
基本 | 1.0 | 1.0 (1.7 or earlier) | 5.5 | ◯ | ◯ |
機能 | Android | Chrome for Android |
Firefox Mobile |
IE Mobile |
Opera Mobile |
Safari Mobile |
---|---|---|---|---|---|---|
基本 | ◯ | ◯ | ◯ | ◯ | ◯ | ◯ |
関連項目
© 2017 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
このページは、ページトップのURL先のMozilla Developer Network(以下、MDN)のコンテンツを翻訳した内容を基に構成されています。 構成について異なる点も含まれますので、下記の項目を確認し、必要に応じて元のコンテンツをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。
- 特定のブラウザに特化しすぎている情報やあまりにも古い情報、 または試験的に導入されているようなAPIや機能については、省略していることがあります。
- 例やデモについて、実際にページ内で動作させる関係で一部ソースコードを変更している場合や、 その例で使用しているコンテンツの単語や文章などを日本人向けに変更しいてる場合があります。
- MDNの更新頻度が高いため、元のコンテンツと比べ情報が古くなっている可能性があります。
- "訳注:"などの断わりを入れた上で、日本人向けの情報の追記を行っている事があります。