본문 바로가기

언어/Javascript

map() vs foreach()

map과 foreach는 모두 각 배열 요소를 돌며 주어진 콜백함수 조건 대로 조종하는 함수이다.

이는 함수형 프로그래밍을 지향한다 ( 변수 사용 억제, 조건문과 반복문 안보임.) 

그렇다면 무엇이 차이가 날까?

 

결론 : foreach()은 결과값이 아닌 , undefined를 return한다. 그래서 무언가 값을 도출하고 싶다면 따로 배열을 만들어 push해줘야한다.

 

foreach()

arr.forEach(callback(currentvalue, index, array]])[, thisArg])

 

currentValue처리할 현재 요소.

index (Optional)처리할 현재 요소의 인덱스.

array OptionalforEach()를 호출한 배열.

thisArg Optionalcallback을 실행할 때 this로 사용할 값.

const one=[1,2,3];
const another = [];
one.forEach(x=>another.push(x**2));
console.log(another); //[1,4,9]

 

map()

array.map(callbackFunction(currenValue, index, array), thisArg)

 

  • currentValue : 배열 내 현재 값
  • index(optional) : 배열 내 현재 값의 인덱스
  • array (optional): 현재 배열
  • thisArg(optional) : callbackFunction 내에서 this로 사용될 값

map()은 결과값을 return한다.

const one=[1,2,3];
one = one.map(x=>(x**2));
console.log(one); //[1,4,9]

 

'언어 > Javascript' 카테고리의 다른 글

Objects.entries(arr)  (0) 2022.08.10
객체 순회  (0) 2022.08.08
closure  (0) 2022.08.06
Array Destructing, Object Destructing  (0) 2022.08.04
es6 화살표 함수 특징 3가지 + reduce함수  (0) 2022.08.02