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