flatMap
【JavaScript】flat と map があるのに flatMap は必要なのか?【Monad】 #TypeScript
JavaScript
の
配列型
には
flatMap
という
メソッド
がある。flatMapは同じく
配列
のメソッド
map
と
flat
を
連続
して
適用
したのと同じ
処理
を一つのメソッドで行うものである。
code:js
0, 10, 20
.map(x => x, x + 1).flat(); // 0,
1, 10, 11, 20, 21
0, 10, 20
.flatMap(x =>
x, x + 1
); //
0, 1, 10, 11, 20, 21
これflatMap要るか?
別に
2回
に分けて書けばよくないか?配列には他にも
reverse
や
filter
や
reduce
などたくさんのメソッドがあるのに、なぜflatとmapだけはそれらを組み合わせたflatMapという
専用
メソッドがあるのか?
それには
理由
がある。なぜならflatMapは
関数型プログラミング
においてとても
重要
で
特別
な
関数
だからである。
(
中略
)
なっとく!関数型プログラミング
https://youtu.be/C2w45qRc3aU?si=G4dUxB9AMamGEKa2
本稿
では
単に
同じパターン
がありますねという
説明
しかしてないが、
Monad
の
意味論的
な説明もしているので
有益
です
#Qiita
#ブックマーク