(into {}
(filter (fn [[key val]]
(even? val))
{:dog 5 :cat 4 :mouse 7 :cow 6}))
=>
{:cat 4, :cow 6}
There's probably also a higher-order function that does what you want
in contrib, something like
(defn filter-map-v [f m]
(into {}
(filter (fn [[k v]] (f v)) m)))
so that you can write
(filter-map-v even?
{:dog 5 :cat 4 :mouse 7 :cow 6})
I haven't looked for it, though.
-R
Am 02.09.2009 um 01:44 schrieb Richard Newman:
> (into {}
> (filter (fn [[key val]]
> (even? val))
> {:dog 5 :cat 4 :mouse 7 :cow 6}))
And to show one more road to Rome (where all roads lead to):
(into {} (for [[k v] the-map :when (even? v)] [k v]))
Sincerely
Meikel