Unable to sort a MAP in clojure on the basis of nested fields

clojure

Solution

Try this one:

(def m {:Mawb {:user_val "3", :col_nm "1"},
        :HawbDate {:user_val "", :col_nm "3"},
        :EtlBatchID {:user_val "1", :col_nm "2"}})

(sort-by (comp :col_nm second) m)
=> ([:Mawb {:user_val "3", :col_nm "1"}]
    [:EtlBatchID {:user_val "1", :col_nm "2"}]
    [:HawbDate {:user_val "", :col_nm "3"}])

Problem

I am trying to sort the below map( Clojure) on the basis of "col_nm" field, but unable to do so. ``` {:Mawb {:user_val "3", :col_nm "1"}, :HawbDate {:user_val "", :col_nm "3"}, :EtlBatchID {:user_val "1", :col_nm "2"}} ``` The output should be: ``` {:Mawb {:user_val "3", :col_nm "1"}, :EtlBatchID {:user_val "1", :col_nm "2"}, :HawbDate {:user_val "", :col_nm "3"} } ``` Can anyone help me, thanks in advance.

Original source