JS & REACT

map 메서드와 forEach문의 차이점

KANG_G1 2023. 5. 17. 13:47

지금껏 map과 forEach, 둘 다 원본 데이터를 기반으로

새로운 데이터를 만든다고 알고있었고

최근에 인터뷰를 진행하며 내가 잘못 알고있었다는 점을 깨닫게 되어

정리를 해보았다.


결론

map배열을 리턴하는 callback,

forEach순회하는 배열의 요소와 index를 기준으로

내부 스코프에서 정의한 코드를 수행하고 아무것도 반환하지 않는 콜백이다.


예시

1) map

const testArray = [1,2,3,4,5]

const result = testArray.map((item, index) =>{
 const eachItem = item*2;
 
 return eachItem;
});

// testArray 배열을 기준으로 순회하며 각 배열의 요소를 2씩 곱한 새로운 배열 생성
console.log(result); // [2,4,6,8,10]

 

2) forEach

const testArray = [1,2,3,4,5];

test.forEach((i)=>{
 console.log(i); // 1,2,3,4,5 순서대로 출력만 수행하며 리턴값은 없다
})