我正在尝试按键值对 map 进行排序。给定这张 map :
{:1 {:bar "something" :rank 10} :2 {:bar "other" :rank 20}}
我喜欢按 rank
值排序:
{:2 {:bar "other" :rank 20} :1 {:bar "something" :rank 10} }
可以使用 sort-by
吗?
提前致谢
最佳答案
sort-by 接受一个关键函数以及一个可选的自定义比较器
; keyfn comparator
(sort-by (comp :rank second) >
{:1 {:bar "something" :rank 10} :2 {:bar "other" :rank 20}})
;=> ([:2 {:bar "other", :rank 20}] [:1 {:bar "something", :rank 10}])
关于clojure - 排序嵌套映射 Clojure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32697459/