Learn Ruby

reject to remove some elements from the hash

reject is opposite of select. Elements that will meet the condition will be rejected.

Here we have a hash of people with their house number.

Name House number
John 507
Sally 239
Adam 786
Nancy 324
Kelly 788

Our task is to find all the people who live in house whose house number is more than 500.

We can use reject to do this job. Using reject we can get a smaller part of the original hash. All the elements that meet the criteria will be rejected.

In this case the criteria is the house number should 500 or less than 500.

It’s important to note that when reject is used then the “do end” block should return either true or false. If the block returns true then that key and value pair will be rejected and if the block returns false then that key and value pair will be accepted.