GASで変数の値を入れ替える方法!たった1行で入れ替えできるサンプルコード解説

Google Apps Script(GAS)で2つの変数の値を入れ替える方法を解説します。

GASを含めたプログラミングにおいて、変数を入れ替える処理は初歩的な内容として良く取り上げられます。

そこで、オーソドックスな変数入れ替えから、分割代入を使った1行のコードで変数を入れ替える方法を説明します。

変数入れ替えはプログラミング入門

Google Apps Script(GAS)を含めたプログラミング言語において、変数の入れ替えるやり方は入門書籍でよく学びます。

例えばx=10,y=25という変数があった場合に、x=25,y=10と変数を入れ替えるコードです。

プログラミングを学び始めたタイミングでは、意外と変数を入れ替えるのが詰まるポイントにもなります。

GASでの通常の変数入れ替え方法

変数を入れ替える方法はGoogle Apps Script(GAS)特有ではなく、JavaやPythonなどの言語でも基本的に共通です。

プログラミング入門書で紹介されている方法としては、「入れ替える変数の片方を一時保存する変数を用意して、入れ替える」です。

文章で説明すると長文になってしまうので、実際に2つの変数を入れ替えるGASのサンプルコードを解説します。

function myFunction1() {
  //2つの変数に数値を定義
  let x = 10;
  let y = 25;
  //定義後の値をログ出力
  console.log(x + ',' + y);
  //変数入れ替えのため一時的な変数を定義し、xを代入
  let temp = x;
  //xにyを代入し、yにtemp変数を代入して入れ替え
  x = y;
  y = temp;
  //分割代入後の値を再度ログ出力
  console.log(x + ',' + y);
}
  1. 一時保存の変数tempに変数xの値を代入
  2. 変数xに変数yの値を代入
  3. 変数yに変数tempを代入

といった処理の流れで変数の入れ替えが実現可能です。

Google Apps Script(GAS)で2つの変数の値を入れ替えるサンプルコード(一般的な入れ替え)

この変数の入れ替え方法は変数の個数が増えても対応でき、変数3コや4コの場合でも同様に実装できます。

GASの変数入れ替えに便利な分割代入

先ほど説明した変数入れ替え方法が一般的なやり方ですが、一時的な変数を定義したり、変数の数だけ入れ替えが発生します。

2コの変数を入れ替える場合は3行、3コの変数を入れ替える場合は4行必要です。

もっと変数入れ替えるGoogle Apps Script(GAS)のコードをスッキリさせたい場合にオススメなのが分割代入です。

function myFunction2() {
  //2つの変数に数値を定義
  let x = 10;
  let y = 25;
  //定義後の値をログ出力
  console.log(x + ',' + y);
  //分割代入を使って1行で入れ替え
  [x,y] = [y,x];
  //分割代入後の値を再度ログ出力
  console.log(x + ',' + y);
}

分割代入は主に配列の要素を変数に代入する際に使う構文で、下記に解説記事を掲載しています。

実は分割代入は変数の入れ替えにも利用することができ、変数がいくつあっても1行で入れ替えることができます。

1行で変数を入れ替えるサンプルコード

実際に分割代入を使って変数を入れ替えるGoogle Apps Script(GAS)のサンプルコードを紹介します。

最初に紹介した2つの変数を入れ替えるサンプルコードでは3行必要だったのが、分割代入では1行で記述可能です。

配列の分割代入を活用し、変数の入れ替えを1行で実現するGoogle Apps Script(GAS)のサンプルコード

さらに、変数が2コより多くても、分割代入の部分の変数を増やすことでそのまま1行で対応できます。

分割代入を覚えてしまえば、一時的な変数を使った方法よりも便利です。

まとめ・終わりに

今回、Google Apps Script(GAS)の変数を入れ替える方法について、通常の方法と分割代入を使った方法を紹介しました。

通常の方法では、他のプログラミング言語と同じように一時的に値を格納するtemp変数を定義して変数を入れ替えます。

もう1つの分割代入を使った方法では、たった1行で変数の入れ替えが実現可能です。

さらに、入れ替えしたい変数が3コ、4コになっても、1行のまま記述することができます。

プログラミング入門時に習う変数の入れ替え方法は、通常のやり方ですが、分割代入を使った方法の方がコード行数の節約にもなり、スッキリします。

ぜひ、GASで変数入れ替えを行いたい場合は分割代入を使ったやり方で実装しましょう。