JavaScriptのspliceメソッドについて現役エンジニアが解説【初心者向け】
初心者向けにJavaScriptのspliceメソッドについて解説しています。spliceメソッドを使うと、配列の要素に対して追加、削除、置き換えといった操作を行うことができます。それぞれの処理の書き方と実行結果を見てみましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
JavaScriptのspliceメソッドについて、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
そもそもJavaScriptについてよく分からないという方は、JavaScriptとは何なのかについて解説した記事を読むとさらに理解が深まるでしょう。
なお本記事は、TechAcademyのオンラインブートキャンプJavaScript/jQuery講座の内容をもとにしています。
今回は、JavaScriptに関する内容だね!
どういう内容でしょうか?
spliceメソッドについて詳しく説明していくね!
お願いします!
目次
spliceメソッドとは
spliceメソッドとは、配列を表すArrayのメソッドで配列の要素を操作するメソッドです。
以下のような操作が可能となります。
- 要素を取り除く
- 置き換える
- 追加する
spliceメソッドの使い方
配列に.splice()と記述することで使用可能です。
第1引数は必ず必要です。
操作を開始する配列のインデックスを指定してください。
第1引数の指定のみの場合は、指定したインデックス以降を取り除く動作になります。
例えば、2を指定した場合は、0から始まる配列の要素の3番目を指定したことになり、それ以降の要素を取り除くことが可能です。
第2引数はオプションです。
指定した場合は、指定した数を第1引数で指定した要素以降から取り除きましょう。
例えば、3を指定した場合は、第1引数で指定した要素から3個の要素を取り除きます。
第3引数以降はオプションです。
指定した場合は、その値が配列に追加され、追加する値の数だけ引数を増やすことができます。
例えば、第3引数に’あああ’、第4引数に’いいい’とした場合は、第1引数で指定した要素の位置に’あああ’と’いいい’を追加可能です。
実際に使ってみよう
spliceメソッドの動作をみるために、下記のような1番目〜5番目という文字列を格納した配列をarrayという変数に格納したものを用意します。
let array = ['1番目', '2番目', '3番目', '4番目', '5番目'];
それでは引数の指定方法ごとに動作を見ていきます。
第1引数のみ
指定した要素以降を全て取り除くため、下記のように記述しましょう。
array.splice(2); // ["1番目", "2番目"]
第1引数と第2引数を指定
第1引数で指定した要素から、第2引数で指定した数の分の要素を取り除きます。
array.splice(1,3); // ["1番目", "5番目"]
第1引数〜第3引数を指定
プログラムの動作は、第1引数で指定した要素から、第2引数で指定した数を取り除き、第3引数の値を追加します。
これは第2引数が0の場合は、1つも取り除かずに値を追加するため、間に要素を差し込む動作と同様です。
array.splice(1,0, '差し込み'); // ["1番目", "差し込み", "2番目", "3番目", "4番目", "5番目"]
第2引数が1の場合は、1つを取り除いて、第3引数を追加し、置き換える動作となります。
array.splice(1, 1, '交換'); // ["1番目", "交換", "3番目", "4番目", "5番目"]
第1引数〜第5引数を指定
第3引数の追加する動作と同様です。
この場合では、追加する値が第3引数、第4引数、第5引数の3つになります。
array.splice(1, 0, '差し込み1', '差し込み2', '差し込み3'); // ["1番目", "差し込み1", "差し込み2", "差し込み3", "2番目", "3番目", "4番目", "5番目"]
まとめ
spliceメソッドは引数の指定方法を組み合わせることで、配列を自在に変更可能です。
配列の要素を削除したり置き換えたりする処理は使う機会も多いため、引数の指定方法を確認してみましょう。
執筆してくれたメンター
横山茂雄(よこやましげお)
フリーエンジニアとして活動中。サーバーサイドからフロントまで時代の波に合わせてスキルを変化させてきました。 言語、フレームワーク、DB、現場、いずれも転々としながら、筋トレも欠かさない体育会系エンジニアです。 TechAcademyジュニアのゲームアプリコースを担当しています。 |
JavaScriptのspliceメソッドの使用方法がよく分かったので良かったです!
ゆかりちゃん、これからも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でもJavaScript・jQueryを使ったWebサービス公開を習得できるオンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。