Skip to content

Maintenance Ruby 3.4 gets fixes, but no new features. Switch to Ruby 4.0 →

instance method

Array#compact

() -> ::Array[Elem]
compact → new_array

Returns a new array containing only the non-nil elements from self; element order is preserved:

Example
a = [nil, 0, nil, false, nil, '', nil, [], nil, {}]
a.compact # => [0, false, "", [], {}]

Related: Array#compact!; see also Methods for Deleting.

See also #compact! #combination #collect! #concat also in 4.1 · 4.0 · 3.3 · 3.2 · 3.1 · 3.0