※当サイトの商品・サービスのリンク先にPRを含みます。

GAS入門 Google Apps Script

【入門】GASで配列の要素の一部を削除する4つの方法

お仕事おつにゃッス🐈

文系未経験から社内SEになった、あっきょ(@daily_code_JP)です!

Google Apps Scriptsで配列内の要素を削除する方法で悩んだことありませんか?

この記事ではそのお悩みを、Google Apps Scriptのコードで解決し、配列の要素を削除するメソッドを4つ紹介します。

あっきょ
この記事は以下で悩んでいる人におすすめ!

  • 配列内の要素を削除するメソッドの種類と方法を知りたい
  • スプレッドシートでセル内の値を整理するのに使いたい
  • プログラミングでJavaScriptを学んだけど、何を作っていいかわからない

誰でも無料で簡単にできますので、お気軽に学んでいきましょう!

配列の要素を削除するイメージ

GASで配列の要素を削除するイメージ

GASで配列内の要素を削除する方法を4つ紹介します。

配列内をあなた自身で操作できれば、オリジナルアプリの開発が楽になります。

また、セル内の値を取得して処理するときも楽になります。

結果として、人的ミスの削減や業務効率化につながります。

配列の要素を削除する準備

Google Apps Script で配列の要素の一部を削除する準備をします。必要なファイルは1つです。

必要なファイル

  • Google  スプレッドシート・・・ コードの貼り付け

サンプルコードを貼り付ける方法

サンプルコードはGoogle スプレッドシートにコピペ。

上バーの「拡張機能」の中にある「Apps Script」をクリックしてコードを貼り付けます。

GASをスプレッドシートに記入する際の「Apps Script」の表示

配列内の要素を削除する4つのコード

配列内の要素の一部を取り除くメソッドを紹介します。配列を削除するメソッドは4つです。

要素を削除するメソッドの一覧

  • shift()         ・・・    配列の先頭の要素を削除するメソッド
  • pop()         ・・・  配列の末尾の要素を削除するメソッド
  • splice()      ・・・  配列の要素の順番を指定して削除するメソッド
  • filter()        ・・・  配列内を検索して削除するメソッド

shift() | 配列内の先頭の要素を削除

先頭にある配列内の要素を削除するshiftメソッドの説明

shiftメソッドは配列内の先頭の要素を削除します。

つまり、配列の左から数えて1番目の要素だけを取り除きます。

引数はありません。

shiftメソッドを使ったサンプルコード

function deleteArray(){
  const array = ["1", "2", "3", "4", "5"];
  array.shift();
  
  Logger.log(array);
}

サンプルコードを実行して動きを把握しましょう。

この例の場合、shiftメソッドは配列内の「1」を取り除きます。

実行結果は画像の通りです。「1」を取り除き、左端が「2」になっているのがわかります。

GASでshiftメソッドを使って配列内の要素を削除したログ出力の結果

pop() | 末尾の要素を削除

末尾にある配列内の要素を削除するpopメソッドの説明

popメソッドは、配列内の末尾の要素を削除します。

配列の右から数えて1番目の要素を取り除きます。

引数は不要です。

popメソッドを使ったサンプルコード

function deleteArray(){
  const array = ["1", "2", "3", "4", "5"];
  array.pop();
  
  Logger.log(array);
}

以下のサンプルコードの場合、popメソッドは配列内の「5」を取り除きます。

実行結果は画像の通りです。「5」を取り除き、左端が「4」になっているのがわかります。

GASでpopメソッドを使って配列内の要素を削除したログ出力の結果

splice() | 要素の順番を指定して削除

配列内の要素の順番を指定して削除するspliceメソッドの説明

spliceメソッドは、配列内の任意の位置から要素を削除します。

このメソッドは要素の追加でも使えますが、配列を削除する場合は2つの引数を入れます。

引数

  • 第一引数(num) ・・・ 削除し始める配列内の要素の番号
  • 第二引数(num) ・・・ 配列内の要素を削除する個数

文章だけだとわかりづらいので、spliceメソッドを使った例を2つ紹介します。

2番目の要素から3つ削除する場合

function deleteArray(){
  const array = ["1", "2", "3", "4", "5"];
  array.splice(1,3); //2番目から要素を3つ削除
  
  Logger.log(array);
}

配列の番号は0から始まるので、2番目の要素を取り除くには第一引数に1を入れます。

削除する要素の数は3つなので、第二引数には3をいれます。

実行結果は画像の通りです。2から4が配列内から削除されているのがわかります。

GASでspliceメソッドを使って配列内の要素を削除したログ出力の結果 その1

4番目の要素から1つ削除する場合

function deleteArray(){
  const array = ["1", "2", "3", "4", "5"];
  array.splice(3,1); //4番目から要素を1つ削除
  
  Logger.log(array);
}

配列内の「4」を削除するには3を第一引数に入れます。

削除する個数が1つなので、第二引数には1をいれます。

実行結果は画像の通りです。「4」が配列内から削除されています。

GASでspliceメソッドを使って配列内の要素を削除したログ出力の結果 その2

filter() | 要素を検索して削除

配列内を検索して該当する要素を削除するfilterメソッドの説明

filterメソッドは、特定の条件の要素を配列から削除します。

引数に条件を記入すると、条件と一致しない要素を取り除くことができます。

このメソッドを使ったサンプルコードも2つ紹介するので、コード使い方を学んでいきましょう。

偶数のみを配列内に残す場合

function deleteArray(){
  const array = [1, 2, 3, 4, 5];
  const arrayFixed = array.filter(function(a) {
      return a % 2 == 0; //偶数の要素を配列に残し、奇数の要素は取り除く
  });

  Logger.log(arrayFixed);
}

filterメソッド内の返り値を「a%2 == 0」にします。

2で割った余りが0は偶数なので、偶数を配列内に残して奇数を取り除きます。

結果は以下の通りです。配列の中には偶数の数字が残って、奇数は取り除かれました。

GASでfilterメソッドを使って配列内の要素を削除したログ出力の結果 偶数の場合

奇数のみを配列内に残す場合

function deleteArray(){
  const array = [1, 2, 3, 4, 5];
  const arrayFixed = array.filter(function(a) {
      return a % 2 != 0; //奇数の要素を配列に残し、偶数の要素は取り除く
  });

  Logger.log(arrayFixed);
}

「a%2 != 0」と記入すると2では割り切れない奇数を表します。

このように記入することで、奇数だけを配列内に残して偶数を取り除くことができます。

結果は以下の通りで、配列の中には奇数のみ残りました。

GASでfilterメソッドを使って配列内の要素を削除したログ出力の結果 奇数の場合

【基本】GASで配列を処理する方法一覧

この記事では、配列内の要素を削除する方法を4つ紹介しました。

GASでは削除以外にも、要素の追加取り出しもできます。

誰でも簡単に無料でできるので、ぜひご参考ください。

もちろん、コピペOKです。

【簡単】GASで配列に要素を追加する4つの方法

続きを見る

【入門】GASで配列の要素を抽出する3つの方法

続きを見る

配列内の要素が配列の二次元配列の扱い方についてはこちら。

【5分で便利】GASで二次元配列内の配列から要素を取り出し

続きを見る

【初心者必須】GASで二次元配列を一次元化するflatメソッド

続きを見る

おわりに | GASでさらにスキルアップするには

以上、GASで配列の要素の一部を削除する4つの方法でした。

そのままコピペして日常業務で使いやすいように改修したり、プログラミングの練習や動作確認用に使ってみましょう。

GASでさらに業務効率化したい場合、参考書やプログラミングスクールを使うとあなた自身でアプリを作るスキルが身に付きます

プログラミング未経験者にもわかりやすく解説しています。

プログラミングスクールは82社を分析して厳選してるッスよ!
あっきょ

次回の記事もご期待ください!

-GAS入門, Google Apps Script
-, , , , , , , , , , , , , , , , , , , , , , , , ,