[1]}, %{"test2"=> [2]}, %{"test"=> [3] 这样的 map 列表怎么可能}] 转换为一个巨大的单一 map 并合并-6ren">
gpt4 book ai didi

elixir - 将 map 列表转换为一张 map

转载 作者:行者123 更新时间:2023-12-02 05:40:23 26 4
gpt4 key购买 nike

some_maps = [%{"test"=> [1]}, %{"test2"=> [2]}, %{"test"=> [3] 这样的 map 列表怎么可能}] 转换为一个巨大的单一 map 并合并其值?

single_map = %{"test" => [1, 3], "test2" => [2]}

因为我不能在像for这样的迭代中修改 map ,所以我不知道如何构建这个 map

在其他语言中,我会定义一个空 map 并遍历列表并填充 map ,但在功能上思考我不知道如何做到这一点。

最佳答案

这是一种方法:

Enum.reduce(some_maps, fn x, y ->
Map.merge(x, y, fn _k, v1, v2 -> v2 ++ v1 end)
end)

关于elixir - 将 map 列表转换为一张 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48378248/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com