<分区>
在 Ruby 中,根据可能存在或可能不存在的 order
属性对对象数组进行排序的最佳方法是什么,如果不存在,则回退到基于排序名为 title
?
<分区>
在 Ruby 中,根据可能存在或可能不存在的 order
属性对对象数组进行排序的最佳方法是什么,如果不存在,则回退到基于排序名为 title
?
最佳答案
不确定这是否是您所追求的,但一个快速的解决方案可能是:
arr = [{a:"never", b:"anna"}, {a:"always", b:"bob"}, {b:"colin"}, {b:"abe"}]
arr.sort_by! {|o| o[:a] ? o[:a] : o[:b] }
#=> [{:b=>"abe"}, {:a=>"always", :b=>"bob"}, {:b=>"colin"}, {:a=>"never", :b=>"anna"}]
关于ruby - 按一组参数对 Ruby 数组进行排序,如果未定义则回退到下一个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27730287/