我有一个字符串列表,我想以两种方式订购。
答案 0 :(得分:33)
要按字母顺序对字符串列表进行排序,您只需使用Enum.sort/1
,它将按默认顺序(字符串的字母顺序)对项目进行排序。
iex> Enum.sort(["b", "aaa", "cc"])
["aaa", "b", "cc"]
要按不同的属性(例如字符串长度)对列表进行排序,可以使用Enum.sort_by/2
,它将mapper函数作为第二个参数。然后,这些值将按照应用于每个元素的此函数的结果进行排序。
iex> Enum.sort_by(["b", "aaa", "cc"], &String.length/1)
["b", "cc", "aaa"]