Clojure:只有当密钥在两个映射中时才组合哈希映射?

Rat*_*tus 2 merge clojure

我有两个哈希映射,我试图将它们合并在一起,同时只保留两个映射中找到的键.
例如:

{a true, b true, c true, d true, e true}
merged with {c true, d true, e true, f true}
would yield {c true, d true, e true}
Run Code Online (Sandbox Code Playgroud)

我是Clojure的新手,似乎无法弄清楚如何做到这一点.谢谢

fl0*_*00r 6

标准库中有一个选择键功能

(let [a {:a true :b true :c true :d true :e true}
      b {:c true :d true :e true :f true}
      b-keys (keys b)]
  (select-keys a b-keys))
#=> {:c true, :d true, :e true}
Run Code Online (Sandbox Code Playgroud)