【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術さ。

🎯【練習問題】GAS × アロー関数 ドリル

アロー関数の基本と、filter / forEach / map の使い方を復習する問題です!

問題1:アロー関数で合計値を返す関数を作ってみよう

次のような2つの引数 ab を受け取り、合計を返すアロー関数 sum を作ってください。
最後に sum(5, 7) を Logger.log で表示しましょう。

問題2:filterを使って60点以上の点数だけ取り出そう

次の点数の配列から、60点以上のスコアだけを抽出するコードをアロー関数で書いてください。

const scores = [40, 60, 75, 55, 90];

問題3:mapを使って税込価格を計算しよう

次の配列 prices に含まれる金額に対して、10%の消費税を加算した新しい配列を作って、Logger.logで出力してください。

const prices = [500, 1000, 1500];



✅【解答・解説編】

問題1の解答

 const sum = (a, b) => a + b; Logger.log(sum(5, 7)); // → 12 

解説:
アロー関数は「引数 => 処理内容」の形で書ける。処理が1行なので {} と return を省略可能!

問題2の解答

 const scores = [40, 60, 75, 55, 90];
 const passed = scores.filter(score => score >= 60);
 Logger.log(passed); // → [60, 75, 90] 

解説:
filterは「条件に合うものだけ残す」関数。score >= 60 という条件をアロー関数で指定している。

問題3の解答

 const prices = [500, 1000, 1500];
 const taxIncluded = prices.map(price => price * 1.1);
 Logger.log(taxIncluded); // → [550.0, 1100.0, 1650.0] 

解説:
mapは「各要素を加工して新しい配列を作る」関数。ここでは税込価格に変換している。

📚まとめ

  • アロー関数は「短く・スッキリ書ける」モダンな関数の形
  • filter:条件に合うものを「残す」
  • forEach:各要素に「処理をする」
  • map:各要素を「加工して別の配列を作る」
catman、マジ感謝…!明日からアロー関数バンバン使うわ!
猫男
猫男
catman
catman
ではまた、コードの森で会おう!さらばだっ!