pop・shift・spliceで削除
こんにちは、徳です。
デジタルDIYができるようコーディング・プログラミング・画像加工・動画編集などを本やYouTubeで勉強しています。
現在は初心者なので、とにかくゆっくり進んでいくと思います。
また、「間違っていること」や「こうした方が良いよ」などがあれば、コメントなどしていただけたら幸いです。
では、いきましょう!
GoogleAppsScript
配列に要素を削除する方法
です。
GoogleAppsScriptでは、
配列を使って複数のデータを一つにまとめる
ことができます。
しかし、
- 配列にデータを追加する
- 配列からデータを削除する
などもする必要があります。
でないと、ずっと同じデータの入ったリストになってしまいます。
今回は、
データを削除する方法
方法を紹介します。
配列を使う上では、必要な書き方です。
使いながら慣れていきましょう。
それではよろしくお願いします。
配列の削除
説明
配列とは、一つの変数に複数のデータを入れたものです。
そのため、
- 次の場所にもデータを入れたい
- ここと次の間に新しいデータを入れたい
- このデータを消したい
などが出てきます。
その場合、決まった関数を使用することになります。
配列はインデックス番号を空けることはできません。
そのため、データを削除した場合、後のインデックス番号は一つづつ減ります。
配列にデータを削除する
配列にデータを削除する方法は大きく3パターンあります。
後ろを削除
pop()メソッド
前を削除
shift()メソッド
指定した箇所に削除
splice()メソッド
の3つです。
後ろを削除する
配列の一番後ろの要素を削除する場合、
Array.pop()メソッド
を使用します。
書き方
配列名.pop();
pop()メソッドに引数はありません。
例
一番後ろに追加する
function myFunction() {
const array = [0 , 1 , 2];
console.log(array);
array.pop();
console.log(array);
}
最後の要素がなくなりました。
前を削除する
配列の一番前の値を削除する場合、
Array.shift()メソッド
を使用します。
書き方
配列名.shift();
shift()メソッドに引数はありません。
例
一番前に追加する
function myFunction() {
const array = [0 , 1 , 2];
console.log(array);
array.shift();
console.log(array);
}
最初の要素がなくなりました。
インデックス番号を指定して削除する
配列にデータを削除する場合、常に一番後ろとは限りませんよね。
○番目を消したい
ということはよくあります。
インデックス番号を指定して削除する場合、
Array.splice()メソッド
を使用します。
書き方
配列名.splice(削除したいインデックス番号 , 削除したい要素の数);
引数
こちらのメソッドの引数に2つあります。
配列名.splice(削除したいインデックス番号 , 削除したい要素の数);
1つ目には、
削除したいインデックス番号
を入れます。
指定するのはインデックス番号です。
配列のインデックス番号は0から始まります。
つまり、配列の3番目を削除したい場合、インデックス番号は2になります。
配列を使うとき、勘違いすることがよくあります。
間違えないようにしましょう。
配列名.splice(削除したいインデックス番号 , 削除したい要素の数);
2つ目には、
削除したい要素の数
を入れます。
1つ目の引数で指定した場所からいくつ消したいかを指定します。
- 指定した場所だけ消したい・・・1
- 指定した場所から2つ消したい・・・2
としてします。
例
2番目にデータを挿入
function myFunction() {
const array = [0 , 1 , 2];
console.log(array);
array.splice(1 , 1);
console.log(array);
}
まとめ
今回は、
配列の削除
について紹介させていただきました。
配列とは、
複数の値を一つにまとめる
ものです。
そのため、配列には中身を削除できないと困ってしまいます。
中身を変えられないと不便ですよね
そのため、配列を使用するときは、何度も使用することになります。
使う関数は、
後ろを削除
pop()メソッド
前を削除
shift()メソッド
指定した箇所を削除
splice()メソッド
の3つです。
また、注意点として、
インデックス番号は0から始まる
ということです。
そのため、配列の一番目の値のインデックス番号は0になります。
最後まで読んでいただき、ありがとうございました。
コメント