0

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

[[{: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

4

2 回答 2

2

做这个:

your_array.flatten.map{|h| h[:value_length]}.max
# => 11
于 2013-10-07T22:44:04.017 回答
1

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

your_array.flatten.max {|x, y| x[:value_length] <=> y[:value_length] }
#=> {:value=>"Second Item", :value_length=>11, :index=>0}
于 2013-10-07T22:48:26.970 回答