在clojure中转换嵌套映射

fuj*_*uji 1 traversal clojure map

我有一个嵌套的地图,看起来像这样:

{"a" {:points 2} "b" {:points 7} "c" {:points 1} "d" {:points 3}}
Run Code Online (Sandbox Code Playgroud)

我想把它变成一个地图序列,以便排序(排序)并在之后打印.

({:name "a" :points 2}
 {:name "b" :points 7}
 {:name "c" :points 1}
 {:name "d" :points 3})
Run Code Online (Sandbox Code Playgroud)

从文档中我发现我需要像邮路一样的东西,但我无法绕过它.

mob*_*yte 6

(sort-by :name
         (map #(conj {:name (key %)}
                      (val %))
              {"a" {:points 2}
               "b" {:points 7}
               "c" {:points 1}
               "d" {:points 3}}))

-> ({:points 2, :name "a"}
    {:points 7, :name "b"}
    {:points 1, :name "c"}
    {:points 3, :name "d"})
Run Code Online (Sandbox Code Playgroud)