繁体   English   中英

在Rails中按字母顺序排序

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM