我的哈希:
hash={value1: "2",value2: "1",value3: "6",value4: "2" }
我想要的是删除值为“2”的所有键值对,如下所示:
hash={value2: "1",value3: "6"}
怎么做?
@H_404_10@解决方法
这是如何使用
delete_if
的?
hash={value1: "2",value4: "2" } hash.delete_if{|_,v| v == "2"} # => {:value2=>"1",:value3=>"6"} hash # => {:value2=>"1",:value3=>"6"}
如果您不想修改原始哈希,那么您也可以使用Hash#reject
:
hash={value1: "2",value4: "2" } new_hash=hash.reject{|_,:value3=>"6"} hash # => {:value1=>"2",:value2=>"1",:value3=>"6",:value4=>"2"}@H_404_10@ @H_404_10@ 原文链接:https://www.f2er.com/ruby/270827.html