【GAS】アロー関数の使い方まとめ|filter・forEach・mapをスッキリ書く方法
うっわ、GASでfilterとかforEachって使えるの?しかもアロー関数ってなにそれ…?

猫男

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
つまり、コードをムダなく書きたいときの切り札、それがアロー関数ってわけさ。
GAS × アロー関数の実用例

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
アロー関数でコードがスッキリ、読みやすくなるだろ?これが現代のGAS術さ。
🎯【練習問題】GAS × アロー関数 ドリル
アロー関数の基本と、filter / forEach / map の使い方を復習する問題です!
問題1:アロー関数で合計値を返す関数を作ってみよう
次のような2つの引数 a
と b
を受け取り、合計を返すアロー関数 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
ではまた、コードの森で会おう!さらばだっ!