배열의 반복 시켜주는 메서드들은 다양하고 많다.
그 중 인자를 받는 메서드들이 있는데 이 부분 때문에 나를 포함한 뉴비들에겐 어렵게 느껴져서 for문 외로는 잘 안쓰려고 한다. (아무래도 익숙하고 직관적인게 좋을테니까)
그래서 이번 포스팅에서는 배열 반복 메서드 3대장인 forEach, map, reduce 메서드의 인자의 종류와 위치에 대해 간단하게 정리해보려고 한다.
📢 참고로 ✅ 표시가 붙은 인자는 필수로 들어가야 하는 인자고 없으면 선택 사항이다.
arr.forEach(callback(currentvalue[, index[, array]])[, thisArg])
총 3개의 인자를 받고 다음과 같다.
1. currentValue : 현재 요소 ✅
2. index : 현재 요소의 인덱스
3. itself : forEach 메서드를 호출한 배열
arr.map(callback(currentValue[, index[, array]])[, thisArg])
총 3개의 인자를 받고 다음과 같다.
1. currentValue : 현재 요소 ✅
2. index : 현재 요소의 인덱스
3. itself : map 메서드를 호출한 배열
arr.reduce(callback[, initialValue])
총 4개의 인자를 받고 다음과 같다.
1. acc : 누산기 ✅
2. cur : 현재 값
3. idx : 현재 인덱스
4. src : 원본 배열
뉴비 절단기라고 불리는 reduce는 독특하게 함수의 반환 값이 누산기에 할당된다!
그리고 참조값을 제공하지 않으면 인덱스 1부터 시작하기 때문에 첫번째 인덱스를 건너 뛰기 때문에 0으로 설정해 두는게 좋다.
하지만 메서드 인자 사용법 기억이 안날 때 가장 좋은 방법은
이렇게 궁금한 메서드에 마우스를 호버(hover)하면 확인 할 수 있다.
알기론 VSCODE 자체에서 지원해주는 툴팁이라고 하는데 이것을 통해 우리는 해당 메서드를 사용할때 어떻게 사용할지를 힌트를 받을 수 있다!