배열고차함수 (forEach, map, filter)

이재혁·2024년 5월 17일
0

[JS]

목록 보기
7/7
post-thumbnail

#배열고차함수

배열을 다루는 고차 함수로서,
함수를 인수로 전달받거나
함수를 반환하는 함수를 말합니다.

고차함수는
조건문과 반복문을 제거하여 복잡성을 해결하고
변수의 사용을 억제하여 오류 발생의 그본적인 원인을 피하는
<함수형 프로그래밍>에 기반을 두고 있습니다.

#forEach

forEach 메서드는 for문을 대체할 수 있는 고차함수 입니다.
forEach 메서드는 자신의 내부에서 반복문을 실행합니다.

내부에서 반복문을 통해
자신을 호출한 배열의 요소들을 순회하면서
수행해야 할 처리를 콜백함수로 전달받아 반복호출합니다.


위 코드를 통해,
for문으로 작성한 코드와
forEach로 작성한 코드의 로그값이 동일하게 출력되는 것을 알 수 있습니다.

따라서 요소가 대단히 많은 배열을 순회하거나
시간이 많이 걸리는 복잡한 코드 또는 높은 성능이 필요한 경우가 아니라면
for문 대신 forEach 메서드를 사용할 것을 권장합니다.

#map

map 메서드는 호출한 배열의 요소들을 순회하면서
인수로 전달받은 콜백함수를 반복호출합니다. (foreach와 공통점)

그리고 <콜백 함수의 반환값들로 구성된 새로운 배열을 반환> 합니다.

따라서 map 메서드는
요소값을 다른 값으로 맵핑(mapping)하여
새로운 배열을 생성하기 위한 고차함수입니다.

#filter

filter 메서드는 호출한 배열의 요소들을 순회하면서
인수로 전달받은 콜백함수를 반복호출합니다. (foreach, map과 공통점)

그리고 <콜백 함수의 반환값이 true인 요소로만 구성된 새로운 배열을 반환> 합니다.

따라서 filter 메서드는
호출한 배열에서 필터링조건을 만족하는 특정 요소만 추출하여
새로운 배열을 만들고 싶을 때 사용합니다.

0개의 댓글