我有一个散列值的对象数组,需要在ASC/DESC中按title排序。
@ass_list = [{id:1,title:b},{id:2,title:a},{id:3,title:c}]我想按每个对象的title排序,并尝试:
@Q_title = @ass_list.sort_by {|k| k[:title]}当我为标题的短对象编写代码时,它应该会给出如下结果
@ass_list = [{id:2,title:a},{id:1,title:b},{id:3,title:c}]然而,它不起作用。
发布于 2016-08-30 20:18:40
参考:http://ruby-doc.org/core-2.3.1/Enumerable.html#method-i-sort
ASC:
@ass_list.sort do |x, y|
  x[:title] <=> y[:title]
end描述:
@ass_list.sort do |x, y|
  y[:title] <=> x[:title]
end发布于 2016-08-30 20:55:51
这将完成您所需的操作:
@Q_title = @ass_list.sort_by { |h| h[:title] }.map {|h| h[:title] } #=> [a, b, c]注意:数组中返回a、b、c的值。
https://stackoverflow.com/questions/39227225
复制相似问题