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 |