Removing Nil Elements from an Array in Ruby: Methods and Techniques

BharteeTechRubyOnRails
2 min readJun 10, 2023

--

In this blog post, we will explore various methods and techniques to remove nil elements from an array. Understanding these approaches will help you write clean and efficient code when dealing with arrays containing nil values.

  1. Using the compact Method:

The simplest and most straightforward way to remove nil elements from an array is by using the compact method. This method returns a new array with all nil elements removed.

 array = [1, 2, 3, nil, 4, nil, 6]
=> [1, 2, 3, nil, 4, nil, 6]

array.compact
=> [1, 2, 3, 4, 6]

2. Using the compact! Method:

If you prefer to modify the original array directly, you can use the compact! method. It removes nil elements from the array in-place, altering the original array.

 array = [1, nil, 3, nil, 5, 6, nil]
=> [1, nil, 3, nil, 5, 6, nil]

array.compact!
=> [1, 3, 5, 6]

3. Using reject Method:

The reject method provides more flexibility by allowing you to specify a block of code to determine which elements should be rejected from the array. You can use it to remove nil elements.

array = [1, nil, 3, nil, 5, 6, nil]
=> [1, nil, 3, nil, 5, 6, nil]

array.reject {|data| data.nil?}
=> [1, 3, 5, 6]

4. Using delete Method:

If you specifically want to remove nil elements, you can use this delete method. It removes all occurrences of the specified element from the array.

 array = [1, nil, 3, nil, 5]
=> [1, nil, 3, nil, 5]

array.delete(nil)
=> nil

puts array.inspect
[1, 3, 5]
=> nil

--

--

BharteeTechRubyOnRails
BharteeTechRubyOnRails

Written by BharteeTechRubyOnRails

Ruby on Rails Developer || React Js || Rspec || Node Js

Responses (1)