分组
对每个元素运行一个函数,并根据结果对元素进行分组。
group-by 操作返回一个哈希映射,该映射以提供的函数的结果为键。
ruby…
["bat", "it", "a", "the"].group_by{|s| s.size} # => {3=>["bat", "the"], 2=>["it"], 1=>["a"]}
clojure…
(group-by count ["bat" "it" "a" "the"]) ;; => {3 ["bat" "the"], 2 ["it"], 1 ["a"]}
由于它自然地返回一个哈希映射,因此任何下游操作都需要将此映射视为键值对列表,以便在管道中继续流动。