I have a function that removes a key from a map:
(defn remove-key [key map]
(into {}
(remove (fn [[k v]] (#{key} k))
map)))
(remov
As others said use the built-in function instead of writing your own.
However, if this was just an example and you want an answer of how to do that if there wasn't a standard dissoc, then you can use:
(reduce (fn [m k] (remove-key k m)) {:foo 1 :bar 2 :baz 3} [:foo :bar])
Obviously, if you revert the arguments to remove-key it can be written much simpler:
(reduce remove-key {:foo 1 :bar 2 :baz 3} [:foo :bar])