如何对矢量或贴图中的所有值求和

时间:2016-08-04 05:31:05

标签: vector clojure hashmap sum

我有一张地图矢量,如下所示:

[{:count 3} {:count 5} {:count 8}]

如何进行求和:计算值以在Clojure中获得一个值?

3 个答案:

答案 0 :(得分:6)

(def v [{:count 3} {:count 5} {:count 8}])

(reduce #(+ %1 (:count %2)) 0 v);; => 16

或者

(apply + (map :count v));; => 16

你需要学习如何组合函数,然后天空是极限。

答案 1 :(得分:1)

想出来:

(reduce #(+ %1 (%2 :count)) 0 [{:count 3} {:count 5} {:count 8}])

答案 2 :(得分:1)

还有一个:

(transduce (map :count) + 0 [{:count 2} {:count 12}])