Does elixir Enum or any other module have group_by function similar to ruby's group_by

StackOverflow https://stackoverflow.com/questions/21818069

  •  12-10-2022
  •  | 
  •  

質問

Ruby has this awesome method group_by for Enumerable. Does Elixir have something similar? I could not find this functionality on the Enum module. Thanks

役に立ちましたか?

解決 2

Here is an example of group_by/3 in Enum module.

Grouping an array of strings based on its length:

iex(12)> ["ant", "buffalo", "cat", "dingo"] |>  Enum.group_by(&String.length/1)

         %{3 => ["cat", "ant"], 5 => ["dingo"], 7 => ["buffalo"]}

From the docs:

Splits collection into groups based on a fun.

The result is a dict (by default a map) where each key is a group and each value is a list of elements from collection for which fun returned that group. Ordering is not necessarily preserved.

他のヒント

Not yet. We haven't added it because we were waiting on maps. It will be added to the v0.13 branch. :)

* UPDATE *
For anyone who didn't notice the comment below, it has now been added.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top