在 Elixir Lang 中对列表元素进行排序
Sort List elements in Elixir Lang
我有一个字符串列表,我想用两种方式排序。
- 按字母顺序
- 按字符串长度
要按字母顺序对字符串列表进行排序,您只需使用 Enum.sort/1
,它将按默认顺序(即字符串的字母顺序)对项目进行排序。
iex> Enum.sort(["b", "aaa", "cc"])
["aaa", "b", "cc"]
要按不同的 属性 对列表进行排序,例如字符串长度,您可以使用 Enum.sort_by/2
,它将映射函数作为第二个参数。然后将根据应用于每个元素的此函数的结果对值进行排序。
iex> Enum.sort_by(["b", "aaa", "cc"], &String.length/1)
["b", "cc", "aaa"]
我有一个字符串列表,我想用两种方式排序。
- 按字母顺序
- 按字符串长度
要按字母顺序对字符串列表进行排序,您只需使用 Enum.sort/1
,它将按默认顺序(即字符串的字母顺序)对项目进行排序。
iex> Enum.sort(["b", "aaa", "cc"])
["aaa", "b", "cc"]
要按不同的 属性 对列表进行排序,例如字符串长度,您可以使用 Enum.sort_by/2
,它将映射函数作为第二个参数。然后将根据应用于每个元素的此函数的结果对值进行排序。
iex> Enum.sort_by(["b", "aaa", "cc"], &String.length/1)
["b", "cc", "aaa"]