小编Jon*_*eop的帖子

通过特定键从地图集合中提取一组值

我正在尝试通过特定键从地图集合中提取一组值。例如,

输入:

[
    {:k1 "v1" :k2 "v2" :k3 "v3"} 
    {:k1 "v4" :k2 "v2"}
]
Run Code Online (Sandbox Code Playgroud)

假设通过:k1,:k2获得一组值

所需的输出:

#{"v1" "v2" "v4"}
Run Code Online (Sandbox Code Playgroud)

所以我的解决方案是

(->> [{:k1 "v1" :k2 "v2" :k3 "v3"}
      {:k1 "v4" :k2 "v2"}]
     (map #(-> (select-keys % [:k1 :k2]) (vals) (set)))
     (apply clojure.set/union))
Run Code Online (Sandbox Code Playgroud)

但是我想知道更好的方法。你怎么看?

clojure

1
推荐指数
1
解决办法
148
查看次数

标签 统计

clojure ×1