我有两个大麻-
hash1 = {a: "2", b: "34", c: "53", d: "23", e: "2"}
hash2 = {a: "5", c: "8", d: "3", e: "2", f: "76"}
我需要比较散列然后得到下一个-
hash1_1 = {a: "2", c: "53", d: "23", e: "2"}
hash2_1 = {a: "5", c: "8", d: "3", e: "2"}
也就是说,我需要比较两个散列,只留下那些键相等且都有散列的值。
最佳答案
我将做如下工作:
hash1 = {a: "2", b: "34", c: "53", d: "23", e: "2"}
hash2 = {a: "5", c: "8", d: "3", e: "2", f: "76"}
hash1_1 = hash1.select{|k,_| hash2.has_key? k}
# => {:a=>"2", :c=>"53", :d=>"23", :e=>"2"}
hash1_2 = hash2.select{|k,_| hash1.has_key? k}
# => {:a=>"5", :c=>"8", :d=>"3", :e=>"2"}
关于ruby-on-rails - Ruby:比较两个散列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20580821/