I have an array of hashes as following:
[{"k1"=>"v1", "k2"=>"75.1%"}, {"k1"=>"v2", "k2"=>"-NA-"}, {"k1"=>"v3", "k2"=>"5.1%"}]
Now, I want to first check whether the array contains a hash with key "k1"
with value "v3"
. If yes, then I want to delete that hash from the array.
The result should be:
[{"k1"=>"v1", "k2"=>"75.1%"}, {"k1"=>"v2", "k2"=>"-NA-"}]
You can do this with
Array#reject
(If you don't want to modify the receiver) and also withArray#reject!
(If you want to modify the receiver)Use
Array#delete_if
:If there is no hash matching the condition, the array is left unchanged.