| function | since v1.11.50 | Edit |
(update-keys m f)m f => {(f k) v ...}
Given a map m and a function f of 1-argument, returns a new map whose
keys are the result of applying f to the keys of m, mapped to the
corresponding values of m.
f must return a unique key for each key of m, else the behavior is undefined.(defn update-keys
{:added "1.11"}
[m f]
(let [ret (persistent!
(reduce-kv (fn [acc k v] (assoc! acc (f k) v))
(transient {})
m))]
(with-meta ret (meta m))))