Array-map example in clojure
我正在学习Clojure,并尝试解决问题。我将地图存储在矢量中。每个地图都包含一个ID。例如
我在某处读到,而不是使用向量存储映射,我可以使用数组映射并删除ID并将其存储为
我尝试浏览了clojure文档,但是没有找到一个很好的例子来实现这一目标。可以请一些帮助我,给我一个很好的例子吗?
您的想法是将每个记录映射的
以下功能将键
1 2 | (defn key-by [fk ms] (into {} (map (fn [m] [(get m fk) (dissoc m fk)]) ms))) |
例如,
1 2 | (key-by :id [{:id 1 :name"abc"} {:id 2 :name"xyz"}]) ;{1 {:name"abc"}, 2 {:name"xyz"}} |
注意:
您可以使用
示例:
1 | (assoc {} 1 {:name"abc"}) |
返回
1 | {1 {:name"abc"}} |