查找相同哈希数组中特定条目的最大整数值

时间:2013-10-07 22:40:44

标签: ruby

假设我有一个这样的数据结构:

[[{:value=>"First Item", :value_length=>10, :index=>0},
  {:value=>"1111", :value_length=>4, :array_index=>1}],
 [{:value=>"Second Item", :value_length=>11, :index=>0},
  {:value=>"2222", :value_length=>4, :array_index=>1}],
 [{:value=>"Third Item", :value_length=>10, :index=>0},
  {:value=>"3333", :value_length=>4, :index=>1}],
 [{:value=>"Fourth Item", :value_length=>11, :index=>0},
  {:value=>"4444", :value_length=>4, :index=>1}]]

(控制台输出)

我怎样才能获得数组中最大的:value_length

2 个答案:

答案 0 :(得分:2)

这样做:

your_array.flatten.map{|h| h[:value_length]}.max
# => 11

答案 1 :(得分:1)

我很伤心,因为@sawa更快。但是如果你想获得完整的哈希值,我仍然会回答。

your_array.flatten.max {|x, y| x[:value_length] <=> y[:value_length] }
#=> {:value=>"Second Item", :value_length=>11, :index=>0}