MapとReduceとFilter

これらの関数は抽象度が高い

基本的に大体の操作はこの3つで完結できる。 しかし乱用すると何をやってるのかよく分からなくなる。

Map

配列を配列に変換

Reduce

配列(複数の要素)を単一値(単一オブジェクト)に変換

Filter

配列から一部の要素を弾く

用途特化型(読み手にやさしい)

  • pluck 等は Map の用途特化型
  • min, max 等は Reduce の用途特化型
  • where 等は Filter の用途特化型