如何对地图向量中的地图中的每个值应用函数。
如果我有地图矢量
(def vector-of-maps [{:a 1 :b 2} {:a 3 :b 4}])
并且想要对每个地图中的每个值应用一个函数,因此我想要相同的地图矢量,就像这样
(map #(+ 1 %) vector-of-maps)
这样的结果是
[{:a 2 :b 3} {:a 4 :b 5}]
而且我希望它可以与任何地图矢量一起使用,而不仅仅是这个特定的地图...。
=> (defn update-map [m f] (reduce-kv (fn [m k v] (assoc m k (f v))) {} m))
=> (map #(update-map % inc) vector-of-maps)
({:b 3, :a 2} {:b 5, :a 4})
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句