我有两个数组,每个数组包含任意数量的具有相同键但具有不同值的哈希:
ArrayA = [{value: "abcd",value_length: 4,type: 0},{value: "abcdefgh",value_length: 8,type: 1}] ArrayB = [{value: "ab",value_length: 2,{value: "abc",value_length: 3,type: 1}]
我怎样才能找到值为某种类型的每个哈希的最大:value_length?@H_301_5@
例如,具有:type 0的散列的最大:value_length将是4.具有:type 1的散列的最大:value_length将是8.@H_301_5@
我无法理解这个问题.@H_301_5@
解决方法
一个简单的方法:
all = ArrayA + ArrayB # Add them together if you want to search both arrays. all.select{|x| x[:type] == 0} .max_by{|x| x[:value_length]}
def find_max_of_my_array(arr,type) arr.select{|x| x[:type] == type} .max_by{|x| x[:value_length]} end p find_max_of_my_array(ArrayA,0) # => {:value=>"abcd",:value_length=>4,:type=>0}