forEach() vs. map()

G-NOTE·2021년 9월 27일
0

JavaScript

목록 보기
2/7

Array.prototype.forEach()

  • 원본 배열을 직접 바꾸지 않는다.
  • .forEach()의 반환값은 undefined
  • 자신을 호출한 배열을 순회하면서 수행해야 하는 처리를 콜백 함수로 전달받아 반복 호출한다.
const arr1 = [1, 2, 3, 4, 5];
const newArr1 = [];
arr1.forEach((v) => newArr1.push(v ** 2));

console.log(newArr1); // [ 1, 4, 9, 16, 25 ]

Array.prototype.map()

  • 원본 배열을 직접 바꾸지 않는다.
  • .map()의 반환값은 콜백 함수의 반환값들로 구성된 새로운 배열
  • 자신을 호출한 배열의 모든 요소를 순회하면서 인수로 전달받은 콜백 함수를 반복 호출하고, 콜백 함수의 반환값으로 구성된 새로운 배열을 반환한다.
  • 인수
    - 첫 번째 인수 : 요소값
    - 두 번째 인수 : 인덱스
    - 세 번째 인수 : 메서드를 호출한 배열 (this)
const arr2 = [1, 2, 3];
const newArr2 = arr2.map((v) => v ** 2);

console.log(newArr2); // [ 1, 4, 9 ]
profile
FE Developer

0개의 댓글