根据索引合并clojure中地图的两个向量

J. *_*ead 0 maps merge vector clojure

我在 clojure 中有两个地图向量,我希望将它们合并,使其成为单个地图向量,但每个索引处的地图都被合并。我只是想知道做到这一点的最佳方法。

例如:

[{:sku "e1" :name "example1"} {:sku "e2" :name "example2"}]
[{:color "Blue" :price 9.99} {:color "Red" :price 15.99}]
Run Code Online (Sandbox Code Playgroud)

将合并为:

[{:sku "e1" :name "example1" :color "Blue" :price 9.99} {:sku "e2" :name "example2" :color "Red" :price 15.99}]
Run Code Online (Sandbox Code Playgroud)

Mar*_*ůda 6

使用mapvmerge

(mapv merge 
      [{:sku "e1" :name "example1"} {:sku "e2" :name "example2"}]
      [{:color "Blue" :price 9.99} {:color "Red" :price 15.99}])

=> [{:sku "e1", :name "example1", :color "Blue", :price 9.99} {:sku "e2", :name "example2", :color "Red", :price 15.99}]
Run Code Online (Sandbox Code Playgroud)