forEach와 map은 무엇이 다를까 ?

Youje0·2022년 12월 1일
0

일단 사용법은 둘 다 같으며 아래와 같다.

let a = [1,2,3,4]
arr.forEach((number, index) => {
console.log(number ? +number + index? + index);
});

결과
number ? 1 index? 0
number ? 2 index? 1
number ? 3 index? 2
number ? 4 index? 3

기본적인 골자는 같지만 forEach와 map는 큰 차이가 있는데 그것은 return의 여부이다.

그 차이는 아래와 같다.

forEach case::
let arr = [1,2,3,4,5]
arr.forEach(x=>{x*2})

결과
undefined

map case::
let arr = [1,2,3,4,5]
arr.map(x=>{return x*2}) //return 필수 return이 없으면 값으로 undefined 출력

결과
(5) [2, 4, 6, 8, 10]

이와 같이 forEach는 값을 return 할 수 없는데 map은 기존 배열에 값을 더해서 새로운 배열로 반환한다.

만약 forEach를 map처럼 사용하고 싶다면 아래와 같이 사용해야 한다.

let arr = [1,2,3,4,5]
let b = []
arr.forEach(x=>b.push(x))

결과
(5) [1,2,3,4,5]

이와 같이 빈 배열을 가진 변수를 선언하고 그 변수에 push하여야 한다.

profile
ㅠㅠ

0개의 댓글