我有一个格式为
的数据集{:application "name1", :date "date1", :description "desc1"}
{:application "name1", :date "date2", :description "desc2"}
{:application "name2", :date "date1", :description "desc1"}
{:application "name2", :date "date2", :description "desc2"}
etc ...)
我的目标是创建一个包含单个应用程序地图的序列,如下所示。
{:application "name1", :date "date1", :description "desc1"}
{:application "name1", :date "date2", :description "desc2"}
我已经尝试了很多不同的方法来做到这一点,但似乎无法让任何工作。我目前关于如何做到的想法是:
(let[
a (for [x data] (if (= (get x :application) "name1") x))
])
我知道可能有一个简单的解决方案,但我是Clojure的新手,我无法理解。
提前致谢。
大卫
答案 0 :(得分:4)
如果你只想要name1
(filter (comp #{"name1"} :application) data)
按名称排序
(group-by :application data)