您对在核心命名空间中添加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。