> Erlang中文手册 > fold/3 对映射组里的键值递归遍历执行一系列操作

maps:fold/3

对映射组里的键值递归遍历执行一系列操作

用法:

fold(Fun, Init, Map) -> Acc

函数 F(K, V, AccIn) 递归调用映射组 Map 里的每一个键和值,函数 F/3 肯定会返回一个新的上一次函数成功执行累积值,该函数返回最终的累积值。如果映射组 Map 是一个空的映射组,那么初始的累积值 Init 将会返回。

Fun = fun(K,V,AccIn) when is_list(K) -> AccIn + V end,
Map = #{"k1" => 1, "k2" => 2, "k3" => 3},
maps:fold(Fun, 0, Map).