如何在clojure中按地图顺序重命名键

Max*_*axx 5 clojure

我有以下结构

(def aaa '({:a "read" :b "one"} {:a "open" :b "two"}) )
Run Code Online (Sandbox Code Playgroud)

我需要重命名所有:例如一个:c,我想得到

({:c "read" :b "one"} {:c "open" :b "two"})
Run Code Online (Sandbox Code Playgroud)

Kri*_*abó 6

您正在寻找clojure.set重命名,按键功能.使用map,你会得到你想要的结果:

(map #(clojure.set/rename-keys % {:a :c}) [{:a "read" :b "one"} {:a "open" :b "two"}])
=> ({:b "one", :c "read"} {:b "two", :c "open"})
Run Code Online (Sandbox Code Playgroud)