Explain the difference between Array#flatten and Array#compact.

Beginner

Answer

  • flatten: Removes nested array structure, creating a single-level array
  • compact: Removes nil values from array
[[1, 2], [3, [4]]].flatten  # [1, 2, 3, 4]
[1, nil, 2, nil, 3].compact  # [1, 2, 3]