map()는 주어진 함수(callback)로 배열 요소 각각 호출한 결과를 새로운 배열로 반환한다.
forEach함수는 callback함수를 실행하게 되는데 3가지 매개변수를 받는다.
1. currentValue - 처리할 현재 요소
2. index - 처리할 현재 요소의 인덱스
3. array - forEach()를 호출한 배열
const arr = [1, 2, 3]
arr.map((value, index, arr) => {
console.log(value, index, arr)
})
// 결과
1 0 [ 1, 2, 3 ]
2 1 [ 1, 2, 3 ]
3 2 [ 1, 2, 3 ]
그리고 forEach와의 차이점은 반환값이 있다는 것이다.
const arr = [1, 2, 3]
const result = arr.map(num => num)
console.log(result)
// 결과
[1, 2, 3]