假设我有一个这样的数据结构:
[[{: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 ?
答案 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}