如果我有地图,例如,
(def mymap { :b 1 :a 2 :d 3 :e 4 :f 5})
Run Code Online (Sandbox Code Playgroud)
我可以使用val来获取所有值的序列
(vals mymap)
;=> (1 2 3 4 5)
Run Code Online (Sandbox Code Playgroud)
如何获取我自己的自定义顺序中的值序列,以获取示例
;=> (4 2 3 1 5)
Run Code Online (Sandbox Code Playgroud)
我最终想要做的是将值序列化为字符串,做这样的事情
(defn serialize [m sep] (apply str (concat (interpose sep (vals m)) ["\n"])))
Run Code Online (Sandbox Code Playgroud)
(此示例函数取自"将输入映射序列化为字符串"帖子)
但我需要指定vals的顺序.
Jus*_*mer 25
地图是其键的功能,因此您可以这样做:
(map mymap [:e :a :d :b :f])
=> (4 2 3 1 5)
Run Code Online (Sandbox Code Playgroud)