Google Apps Scriptでmap関数を使う
Google Appsとは…
Google Appsとは、Google社が提供しているパブリッククラウド型のサービスのことです。
Google Appsを導入することにより、
Gmailやハングアウト、スプレッドシートなどのドキュメントの共有(管理や編集)だけでなく、スケジュール共有(Googleカレンダー)といったサービスによる情報共有ができるようになります。
またGoogle Appsを使用することにより、IT コストを削減できるだけでなく生産性を高めることができます。これらのGoogle Appsを使ったことがないという方は少ないのではないでしょうか。
Google Apps Script (GAS)とは…
Google Apps Scriptは頭文字をとって「GAS(ガス)」と略されます。
Google Apps Scriptとは、GmailやGoogleカレンダー、Googleドライブなど、Googleが提供しているさまざまなツールやサービスを連携して利用するためにGoogleが開発し、提供しているJavaScript ベースのプログラミング言語です。Google Apps Scriptは開発環境の構築が必要なく、Googleアカウントとインターネット環境さえあれば利用できます。また、Google Apps Scriptは無料で利用できます。
JavaScriptというのは、Webブラウザ上で動作するプログラミング言語で、Webサービスを作ろうと思ったときには避けては通ることができない言語ですので、ある程度の学習が必要になります。ただし、JavaScriptはエンジニアにとってはポピュラーな言語なので学習コストは多少低いのではないでしょうか。
Google Apps Scripを使えば、カスタムのメニューやダイアログ、サイドバーを Google ドキュメント、スプレッドシート、フォームに追加することができますし、GmailやGoogleカレンダなどのGoogleが提供しているさまざまなサービスと連携して活用することができます。
例えば、GoogleスプレッドシートやGoogleドキュメントなどの操作を自動化して表やグラフを作成することや、決まったフォーマットにドキュメントを整理すること、ファイルの共有管理などができます。
また、Gmailに届いた添付ファイルをGoogleドライブに共有する場合にも、ファイルを自動で共有フォルダにアップロードするように設定できますし、メールの自動送信や返信もできます。
今回はGoogle Apps Scriptでコードを書く際に利用できるmap関数について紹介していきたいと思います。
mapの使い方
まず初めにmap関数とは、配列内のすべての要素に対して同じ処理を加え、新しい配列を返すための関数です。
例えば配列の example=[10,20,30,40,50] を10倍して新しい配列を作りたい時に、map関数を使うと便利で効率よくコードを書くことができます。
具体的なコードを書いてみます。
var sample = function example(value){
return value * 10}; (⇦ 引数を10倍にして返す関数を作り、変数sampleに代入)
var Array1 = [10,20,30,40,50,];
var Array2 = Array1.map(sample);
console.log(Array2);
}
実行結果 … [20-10-14 12:08:28:965 JST] [ 100, 200, 300, 400, 500 ] (⇦ ログで表示した結果)
このようになります。
またアロー関数を使って書くこともできます。
var Array1 = [10,20,30,40,50];
var Array2 = Array1.map((value) => {return value * 10});
console.log(Array2);
}
実行結果 … [20-10-14 12:38:28:275 JST] [ 100, 200, 300, 400, 500 ] (⇦ ログで表示した結果)
このようになります。
上記のアロー関数に関して、引数が1つの場合は()を省略出来ます。
今回であれば「map(value => {return value * 10} );」と書いても良いということですが、初歩的な学習をしている段階であれば、無理に省略するとエラーにつながるので省略せず書くようにしましょう。そして、まだアロー関数まで手が回らないという方は飛ばしてください!今回はアロー関数については掘り下げません。
他にもmapを利用すれば応用して、次のようなこともできます!
function myFunction() {
var Array1 = [“dog”, “cat”, “elephant”];
var result = Array1.map(function(value){
return “I like ” + value + ” !!”;});
Logger.log(result);
}
実行結果 … [20-10-14 14:20:30:362 JST] [I like dog !!, I like cat !!, I like elephant !!]
最後に…
以上が今回紹介したGoogle Apps Scriptのmap関数です。JavaScript似ていますが、同じではありません。使えない機能なども存在していますので不安な場合は調べてからコードを書くようにしましょう。
また、Googleのアカウントを作れば無料でGASを使用できますので、挑戦して見てはいかがでしょうか。