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

Popular posts from this blog

node.js - Bad Request - node js ajax post -

Why does Ruby on Rails generate add a blank line to the end of a file? -

keyboard - Smiles and long press feature in Android -