私はそもそも最初
> echo '[1,2,3]' | jq '[.[] | select(. >= 2)] | add' #=> 5
> を何と言うか [.[] | select()] と一旦ストリームにしてから配列に再構築するんじゃなくて
> echo '[1,2,3]' | jq '. | filter(. >= 2)] | add' #=> 5
> みたいに配列のまま扱う何かは無いもんか
と,配列のまま扱う何かを求めていたのですが,そもそも map(f) を使ったとて [.[] | f] してるのであればそれは「配列のまま扱ってるわけじゃない」のであって,そこもおかしかった.