作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
"XXXXX", :photo=>"XXX"}, {:id=>3, :fname=>"Dain", :lname=-6ren">
我有一个对象如下:
[{:id=>2, :fname=>"Ron", :lname=>"XXXXX", :photo=>"XXX"}, {:id=>3, :fname=>"Dain", :lname=>"XXXX", :photo=>"XXXXXXX"}, {:id=>1, :fname=>"Bob", :lname=>"XXXXXX", :photo=>"XXXX"}]
我想按 fname 排序,不区分大小写,所以它会导致
编号:1,3,2
我该如何排序?我正在尝试:
@people.sort! { |x,y| y[:fname] <=> x[:fname] }
但这没有任何效果。
最佳答案
您可以使用 sort_by .
@people.sort_by! { |x| x[:fname].downcase }
(小写是为了不区分大小写)
为了完整起见,所提供代码的问题是:
以下代码使用排序方法。
@people.sort! { |x,y| x[:fname].downcase <=> y[:fname].downcase }
作为这两种方法做同样事情的证据:
@people.sort_by {|x| x[:fname].downcase} == @people.sort { |x,y| x[:fname].downcase <=> y[:fname].downcase }
返回真。
关于ruby-on-rails - 如何对对象数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9320252/
我是一名优秀的程序员,十分优秀!