What is the difference between Array#map and Array#each?

Beginner

Answer

  • each: Iterates through elements, returns original array, used for side effects
  • map: Transforms elements, returns new array with transformed values
numbers = [1, 2, 3]
numbers.each { |n| n * 2 }  # Returns [1, 2, 3]
numbers.map { |n| n * 2 }   # Returns [2, 4, 6]