earthpg:GAS専門のプログラミングスクール

GAS アロー関数の使い方まとめ|filter・forEach・mapをスッキリ書く方法

うっわ、GASでfilterとかforEachって使えるの?しかもアロー関数ってなにそれ…?
猫男
猫男
catman
catman
ふふふ、またまた登場!GASの使い手、catmanさ。今日はアロー関数の極意を伝授しよう。

アロー関数ってなに?

アロー関数(arrow function)は、ES6(ECMAScript 2015)で追加された新しい関数の書き方です。

JavaScript(もちろんGASでも!)で関数を定義するとき、今までは function キーワードを使ってこんな風に書いていました。

 function add(a, b) { 
   return a + b;
 } 

でも、アロー関数を使うと、もっとスッキリ・コンパクトに書けちゃいます!

 const add = (a, b) => a + b; 
えっ、これだけ!?
猫男
猫男

そう、これだけ。

アロー関数はこんな特徴があります:

  • function を書かなくてOK
  • 処理が1行なら {} と return も省略可能
  • 超シンプルで読みやすい

JavaScriptにおけるアロー関数の定義をザックリ言うと…

「引数 => 処理内容」という形で書ける、省略型の関数表現

ってことです。

catman
catman
つまり、コードをムダなく書きたいときの切り札、それがアロー関数ってわけさ。

 

GAS × アロー関数の実用例

catman
catman
それじゃ、怒涛のごとくアロー関数の実例紹介していくぞ。

 

① filter × アロー関数

配列から特定の条件を満たすデータだけを抽出したいときはこれ!

const scores = [80, 45, 90, 60]; 
const passed = scores.filter(score => score >= 60); 
Logger.log(passed); // → [80, 90, 60] 
わぁ、60点以上だけ取り出せてる!
猫男
猫男

② forEach × アロー関数

配列の各要素に処理をしたいときはこう!

const fruits = ['りんご', 'バナナ', 'ぶどう']; 
fruits.forEach(fruit => Logger.log(fruit)); 
Logger.log の中身が連発しててかっこいい…!
猫男
猫男

③ map × アロー関数

各要素を加工して新しい配列を作るときに便利!

const prices = [100, 200, 300]; 
const taxIncluded = prices.map(price => price * 1.1); 
Logger.log(taxIncluded); // → [110, 220, 330] 
消費税込みの計算までできちゃう!
猫男
猫男
catman
catman
アロー関数でコードがスッキリ、読みやすくなるだろ?これが現代のGAS術さ。

本日のまとめ

  • アロー関数は「=>」を使った関数の省略記法
  • filter、forEach、map と組み合わせて使うと超便利
  • GASでももちろん使える!(ES6がサポートされてるからね)
catman、マジ感謝…!明日からアロー関数バンバン使うわ!
猫男
猫男
catman
catman
ではまた、コードの森で会おう!さらばだっ!