1 elixir
将地图列表转换为地图 输入的地图->
[%{"cleiton" => %{"abril" => 346,...}}, %{"pedro" => %{...}}]
Run Code Online (Sandbox Code Playgroud)
输出->
%{"cleiton" => %{"abril" => 346,...} "pedro" => %{...}}
Run Code Online (Sandbox Code Playgroud)
Enum.reduce/2一种可能的方法是将与 结合使用Map.merge/2,使用映射作为累加器:
Enum.reduce(list, &Map.merge/2)
Run Code Online (Sandbox Code Playgroud)
例子:
iex(1)> list = [%{"cleiton" => %{"abril" => 346}}, %{"pedro" => %{"abril" => 123}}]
[%{"cleiton" => %{"abril" => 346}}, %{"pedro" => %{"abril" => 123}}]
iex(2)> Enum.reduce(list, &Map.merge/2)
%{"cleiton" => %{"abril" => 346}, "pedro" => %{"abril" => 123}}
Run Code Online (Sandbox Code Playgroud)
该代码基本上迭代内部的映射list并将它们合并到一个新映射中,希望能够给出预期的结果。