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_fun
將 enumerable
拆分為組。
結果是一個映射,其中每個鍵由 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 Enum.unzip用法及代碼示例
- Elixir Enum.min_max用法及代碼示例
- Elixir Enum.reduce_while用法及代碼示例
- Elixir Enum.at用法及代碼示例
- Elixir Enum.split_with用法及代碼示例
- Elixir Enum.dedup用法及代碼示例
- Elixir Enum.sum用法及代碼示例
- Elixir Enum.zip用法及代碼示例
- Elixir Enum.find_value用法及代碼示例
- Elixir Enum.product用法及代碼示例
- Elixir Enum.map_join用法及代碼示例
- Elixir Enum.zip_with用法及代碼示例
- Elixir Enum.intersperse用法及代碼示例
- Elixir Enum.flat_map用法及代碼示例
- Elixir Enum.count用法及代碼示例
- Elixir Enum.fetch用法及代碼示例
- Elixir Enum.frequencies用法及代碼示例
- Elixir Enum.drop用法及代碼示例
- Elixir Enum.slice用法及代碼示例
- Elixir Enum.max_by用法及代碼示例
- Elixir Enum.zip_reduce用法及代碼示例
- Elixir Enum.random用法及代碼示例
- Elixir Enum.empty?用法及代碼示例
- Elixir Enum.take_while用法及代碼示例
- Elixir Enum.find用法及代碼示例
注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Enum.group_by(enumerable, key_fun, value_fun \\ fn x -> x end)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。