title: How to filter a persistent map in Clojure?
body: <p>I have a persistent map which I want to filter. Something like this:</p>
  
  <pre><code>(filter #(-&gt; % val (= 1)) {:a 1 :b 1 :c 2})
  </code></pre>
  
  <p>The above comes out as <code>([:a 1] [:b 1])</code> (a lazy sequence of map entries). However I want to be get <code>{:a 1 :b 1}</code>.</p>
  
  <p>How can I filter a map so it remains a map without having to rebuild it from a sequence of map entries?</p>