您认为将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。