0
我有这个散列:如何使用`group_by`对这个散列
@hash = [
{0=>"1", 1=>"A1", 2=>"something", 3=>"10"},
{0=>"2", 1=>"A1", 2=>"something", 3=>"8"},
{0=>"3", 1=>"A2", 2=>"something", 3=>"3"},
{0=>"4", 1=>"A2", 2=>"something", 3=>"13"}
]
我需要group_by
在第一列(A1,A2)的值,然后与数据的工作(例如挑选出对于A1和A2具有索引3的项目的最低值)。
@hash.each do |item|
item.each do |item2|
item2.group_by{ |i| i[1] }.each do |p|
puts p
end
end
end
但我仍然无法弄清楚如何访问这些数据。我会非常感谢您的建议。
可以downvoter解释为什么这是downvoted? – jvnill 2013-03-04 09:07:39
我不明白。这个答案帮助了我'jvnill',谢谢!标记为已接受! – user984621 2013-03-04 09:44:10
+1在分组之前,我会变换'@ hash'(所以所有的字符串都被转换为整数),但无论如何这是要走的路。 – tokland 2013-03-04 10:15:29