當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。