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術さ。
本日のまとめ
- アロー関数は「=>」を使った関数の省略記法
- filter、forEach、map と組み合わせて使うと超便利
- GASでももちろん使える!(ES6がサポートされてるからね)
catman、マジ感謝…!明日からアロー関数バンバン使うわ!

猫男

catman
ではまた、コードの森で会おう!さらばだっ!