当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Elixir Enum.group_by用法及代码示例

Elixir语言中 Enum.group_by 相关用法介绍如下。

用法:

group_by(enumerable, key_fun, value_fun \\ fn x -> x end)
@spec group_by(t(), (element() -> any()), (element() -> any())) :: map()

根据 key_funenumerable 拆分为组。

结果是一个映射,其中每个键由 key_fun 给出,每个值是由 value_fun 给出的元素列表。每个列表中元素的顺序从 enumerable 中保留。但是,与所有Map一样,生成的Map是无序的。

例子

iex> Enum.group_by(~w{ant buffalo cat dingo}, &String.length/1)
%{3 => ["ant", "cat"], 5 => ["dingo"], 7 => ["buffalo"]}

iex> Enum.group_by(~w{ant buffalo cat dingo}, &String.length/1, &String.first/1)
%{3 => ["a", "c"], 5 => ["d"], 7 => ["b"]}

相关用法


注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Enum.group_by(enumerable, key_fun, value_fun \\ fn x -> x end)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。