药剂地图减少

时间:2019-02-17 14:40:48

标签: elixir

我有一张地图清单:

[%{~D[2019-02-11] => 7},
 %{~D[2019-02-12] => 1},
 %{~D[2019-02-15] => 1}]

我正尝试通过以下方法将其变成一张大地图:

my_map
|> Enum.map_reduce(%{}, fn x, acc ->
   Map.merge(x, acc)
end )

但是可惜,这并不完全正确。什么是正确的方法?

1 个答案:

答案 0 :(得分:4)

您根本不需要Enum.map_reduce/3,只需使用普通的旧商品Enum.reduce/2

[%{~D[2019-02-11] => 7},
 %{~D[2019-02-12] => 1},
 %{~D[2019-02-15] => 1}]
|> Enum.reduce(&Map.merge/2)
#⇒ %{~D[2019-02-11] => 7,
#    ~D[2019-02-12] => 1,
#    ~D[2019-02-15] => 1}