web-dev-qa-db-ja.com

ElixirLangのリスト要素を並べ替える

2つの方法で注文したい文字列のリストがあります。

  1. アルファベット順
  2. 文字列の長さ
15
Mauricio Moraes

文字列のリストをアルファベット順に並べ替えるには、 Enum.sort/1 、デフォルトの順序(文字列のアルファベット順)でアイテムを並べ替えます。

iex> Enum.sort(["b", "aaa", "cc"])
["aaa", "b", "cc"]

文字列の長さなど、別のプロパティでリストを並べ替えるには、 Enum.sort_by/2 、2番目の引数としてマッパー関数を取ります。次に、各要素に適用されたこの関数の結果によって値がソートされます。

iex> Enum.sort_by(["b", "aaa", "cc"], &String.length/1)
["b", "cc", "aaa"]
33
Patrick Oscity