你对添加index-by
函数到核心命名空间有何看法?这就像group-by
,但是不会创建一个向量。
(defn index-by
"Return a map where a key is (f item) and a value is item."
{:added "1.11"
:static true}
[f coll]
(persistent!
(reduce
(fn [ret x]
(assoc! ret (f x) x))
(transient {}) coll)))
我已经使用这个函数多年,尤其是用于索引数据库结果。通常,你有一个包含映射的向量,每个映射都有一个唯一的ID,你需要构建一个像ID → 行的映射。为什么不引入这样的函数呢?我可以创建一个PR。