foreach랑 map은 어떤 차이가 있을까?
면접에서 나왔을 때 어버버하며 결국 대답 못 했던 주제였다. 분명 항해할 때는 잘 구분해서 썼는데.. 이번 기회에 제대로 알아보자.
foreach
- forEach()가 배열 요소마다 한 번씩 주어진 함수(콜백)를 실행하는 것
- 아무 값도 return 하지 않는다.
- 기존 배열이 변경 가능하다.
map
- map()은 배열 내의 모든 요소 각각에 대하여 주어진 함수(콜백)를 호출한 결과를 모아 “새로운 배열”을 반환
- 기존 배열은 바뀌지 않고 유지된다.
정리 : foreach와 map의 가장 큰 차이점은 기존 배열의 변경 유무인 것 같고 (map이 새 배열을 만드니까) return 시 foreach는 값을 반환하지 않지만 map은 반환한다는 차이점이 있는 것 같다.