当它没有时,怎么做sort_by值

时间:2016-12-14 09:57:03

标签: ruby-on-rails ruby sorting ruby-on-rails-4

如何避免与nil比较? 我希望nil值是排序时的最后一个元素:

hash.sort_by{|k,v| [v.present? ? v : 99999999]}

3 个答案:

答案 0 :(得分:2)

您的问题不明确,但据我了解,这应该会对您有所帮助。

"EV="

答案 1 :(得分:2)

[2, 5, 1, nil, 7, 3, nil, nil, 4, 6].sort_by { |i| [i ? 0 : 1, i] }
#=> [1, 2, 3, 4, 5, 6, 7, nil, nil, nil]

答案 2 :(得分:0)

 hash.sort_by{|k,v| [v ? v : 99999999]}.to_h