【发布时间】:2018-04-30 14:48:39
【问题描述】:
我得到了一张地图列表:
({:a 1 :b ["red" "blue"]} {:a 2 :b ["green"]} {:a 1 :b ["yellow"]} {:a 2 :b ["orange"]})
我需要将它们组合起来最终看起来像这样:
({:a 1 :b ["red" "blue" "yellow"]} {:a 2 :b ["green" "orange"]})
根据键“a”的值组合地图的位置。 到目前为止,我有这个
(->> (sort-by :a)
(partition-by :a)
(map (partial apply merge)))
但是合并会用最后一个给我的向量覆盖“b”中的向量
({:a 1 :b ["yellow"]} {:a 2 :b ["orange"]})
【问题讨论】:
标签: clojure