加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 使用公共密钥查找哈希数组的最大值?

发布时间:2020-12-17 04:17:44 所属栏目:百科 来源:网络整理
导读:我有两个数组,每个数组包含任意数量的具有相同键但具有不同值的哈希: 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}]
我有两个数组,每个数组包含任意数量的具有相同键但具有不同值的哈希:
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?

例如,具有:type 0的散列的最大:value_length将是4.具有:type 1的散列的最大:value_length将是8.

我无法理解这个问题.

解决方法

一个简单的方法:
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}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读