clojure - replace nil values with zero in hash map -
i have hash map in clojure contains nil values. trying group data , sum values, gives me null pointer due nil values. can please advise on how can iterate through hash map , replace nil values integer 0?
(def data [{:medal "silver" :emea 1 :na nil :aspac 3} {:medal "gold" :emea 1 :na 2 :aspac 3} {:medal "gold" :emea nil :na 2 :aspac nil} {:medal "bronze" :emea nil :na 2 :aspac 3} {:medal "silver" :emea 1 :na 2 :aspac 3} {:medal "gold" :emea 1 :na nil :aspac nil} {:medal "bronze" :emea 1 :na 2 :aspac 3}]) thanks
(map (fn [m] (into {} (map (fn [[k v]] [k (if (nil? v) 0 v)]) m))) data) => ({:emea 1, :na 0, :medal "silver", :aspac 3} {:emea 1, :na 2, :medal "gold", :aspac 3} {:emea 0, :na 2, :medal "gold", :aspac 0} {:emea 0, :na 2, :medal "bronze", :aspac 3} {:emea 1, :na 2, :medal "silver", :aspac 3} {:emea 1, :na 0, :medal "gold", :aspac 0} {:emea 1, :na 2, :medal "bronze", :aspac 3})
Comments
Post a Comment