[英]Sort alphabetically in Rails
如何在Rails中按字母顺序排序数组。 我努力了:
sort_by(&:field_name)
这给了我一个大写字母顺序和小写顺序的数组。 我努力了:
array.sort! { |x,y| x.field_name.downcase <=> y.field_name.downcase }
有什么方法可以解决这个问题吗?
你应该首先对每个字符串进行整理,然后排序如下:
array = ["john", "Alice", "Joseph", "anna", "Zilhan"]
array.sort_by!{ |e| e.downcase }
=> ["Alice", "anna", "john", "Joseph", "Zilhan"]
请注意 - 名称可以包含特殊字符。 这些将被分类到最后。
>> ["Ägidius", "john", "Alice", "Zilhan"].sort_by!{ |e| e.downcase }
=> ["Alice", "john", "Zilhan", "Ägidius"]
为了解决这个问题,你可以使用......
>> ["Ägidius", "john", "Alice", "Zilhan"].sort_by!{ |e| ActiveSupport::Inflector.transliterate(e.downcase) }
=> ["Ägidius", "Alice", "john", "Zilhan"]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.