Clojure排序字符串值-不区分大小写

我正在尝试按值对地图进行排序(不区分大小写)。但似乎 clojure 排序功能区分大小写。见下面的例子,

cljs.user=> (sort {:1 "A" :2 "Z" :3 "i"})
([:1 "A"] [:2 "Z"] [:3 "i"])

cljs.user=> (reverse (sort {:1 "A" :2 "Z" :3 "i"}))
([:3 "i"] [:2 "Z"] [:1 "A"])

任何人都可以为我建议一个解决方案,我如何通过不区分大小写的方式在 clojure 中排序?

回答

Java 提供了一个不区分大小写的字符串比较器:

(def m {:1 "A" :2 "Z" :3 "i"})
(sort-by val String/CASE_INSENSITIVE_ORDER m) ;; => ([:1 "A"] [:3 "i"] [:2 "Z"])


以上是Clojure排序字符串值-不区分大小写的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>