जवाबों:
यह हैश तत्वों के मूल्य के आधार पर अधिकतम हैश की-वैल्यू जोड़ी लौटाएगा:
def largest_hash_key(hash)
hash.max_by{|k,v| v}
end
मैंने इस तरह पाया, पहले अधिकतम मूल्य की कुंजी लौटाएं
hash.key(hash.values.max)
एक और तरीका इस प्रकार हो सकता है:
hash.each { |k, v| puts k if v == hash.values.max }
यह प्रत्येक कुंजी-मूल्य जोड़ी के माध्यम से चलता है और रिटर्न (या इस मामले में डालता है) कुंजी (एस) है जहां मूल्य सभी मूल्यों की अधिकतम के बराबर है। यदि टाई है तो यह एक से अधिक कुंजी वापस करना चाहिए।
यदि आप ऑर्डर (दूसरा सबसे बड़ा, सबसे छोटा आदि) के आधार पर एक से अधिक महत्वपूर्ण मूल्य जोड़ी प्राप्त करना चाहते हैं, तो एक अधिक कुशल तरीका हैश को एक बार छांटना और फिर वांछित परिणाम प्राप्त करना होगा।
def descend_sort(hash)
hash = hash.sort_by {|k,v| v}.reverse
end
सबसे बड़े मूल्य की कुंजी
puts *hash[0][0]
अधिकतम और न्यूनतम प्राप्त करें
puts *hash[0], *hash[hash.length-1]
2 सबसे बड़ी कुंजी मूल्य जोड़ी
Hash[*hash[1]]
हैश सरणी को हैश में बदलने के लिए
hash.to_h
यह आकार द्वारा क्रमबद्ध हैश की अंतिम कुंजी लौटाएगा; हालांकि, एक ही मूल्य के साथ दो कुंजी हो सकती हैं।
def largest_hash_key(hash)
key = hash.sort{|a,b| a[1] <=> b[1]}.last
puts key
end
hash = { "n" => 100, "m" => 100, "y" => 300, "d" => 200, "a" => 0 }
largest_hash_key(hash)