JS 26. Map, Filter, Reduce

하승진·2024년 2월 16일

JS 따라잡기

목록 보기
26/49
post-thumbnail

Map

: 배열 내 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환

array1 배열의 각 요소를 x로 받아 *2한 값을 모아 새로운 배열을 반환

구조

: arr.map(callback(currentValue[, index[, array]])[, thisArg])

callback 함수 내에 인덱스 길이 맞게 4번 돌아

item, index -> 1, 0 / 4, 1 / 9, 2 / 16, 3 이렇게 접근한다.

또한 접근 때마다 해당 배열도 같이 콘솔에 출력되는 구조이다.

마지막 각 item에 *2 값을 새로운 배열로 생성해서 반환한다.

this에 대해 a: 'a'를 정의한다.


Filter

: 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환

각 요소 중 문자열 길이가 6이상만 반환

구조

: arr.filter(callback(element[, index[, array]])[, thisArg])

구조는 map과 유사

return에서 조건이 들어가서 해당 요소들로 새로운 배열 생성해 반환


Reduce

: 배열의 각 요소에 대해 주어진 리듀서(reducer)함수를 실행 후 하나의 결괏값 반환

구조

arr.reduce(reducer 함수, initialValue])

accumulator : 누산기

currentValue : 현재 값

currentIndex : 현재 인덱스

array : 원본 배열

accumulator + currentValue는 accumulator에 저장되어 반환된다.

accumulator += currentValue 느낌이라고 보면 된다.

profile
기어갈지언정 한 발자국씩이라도 가보자

0개의 댓글