When you do not need the return value (the new array). forEach is for side effects (logging, updating external state). map is for transforming data into a new array. Using map for side effects wastes the returned array.
map, filter, and reduce as Higher-Order Functions
When should you use forEach instead of map in JavaScript?
The answer
More FAQs in map, filter, and reduce as Higher-Order Functions
map transforms each element and returns a new array of the same length. filter selects elements that pass a test and returns a shorter (or equal) array. reduce combines all elements into a single value using an accumulator.
No. Both return new arrays. The original array is unchanged. This is important for immutability and predictable code.
Without it, the first element is the initial accumulator. This causes bugs if the array is empty (TypeError) or if the accumulator type differs from the element type (e.g., building an object from an array of objects).
Still have questions?
Browse all our FAQs or reach out to our support team
Want to upskill yourself?
Your learning library
Small steps. Big possibilities.
Find your next course. Build something great.