map and forEach technically they do the same job. They both iterate your data holden in a given array. But under the hood they are different. map instead of manipulating the array directly, it will return a new array that contains an image of each element of the array. In the case of forEach, it will manipulate the array directly. That's the difference.
map() takes a function as argument which will run on all elements on the array (getting a transformed value), and then return a new array with all transformed values.
If we run the following array through .map(x => x + 1) we get:
[1, 2, 3]
| | |
v v v
[2, 3, 4]
forEach() will just iterate on the array. Its return value is undefined.
Nice article.
But I am confused what is the difference between map and forEach? Output looks the same.
map
andforEach
technically they do the same job. They both iterate your data holden in a given array. But under the hood they are different.map
instead of manipulating the array directly, it will return a new array that contains an image of each element of the array. In the case offorEach
, it will manipulate the array directly. That's the difference.Thanks. Got it now)
map()
takes a function as argument which will run on all elements on the array (getting a transformed value), and then return a new array with all transformed values.If we run the following array through
.map(x => x + 1)
we get:forEach()
will just iterate on the array. Its return value isundefined
.Neither function will mutate the original array.
Great explanations and examples. Thanks again