Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 유사배열객체
- await
- 오픈채팅
- 배열
- trim
- 자연어처리
- JavaScript
- 챗봇
- ReactNative
- callbackhell
- 카카오
- vuejs
- 오픈빌더
- 변수
- 함수
- callback
- Promise
- arguments
- async
- 순수함수
- 자바스크립트
- 카카오톡채널
- es7
- es6
- 플러스친구
- closure
- 객체
- 콜백함수
- developers
- expo
Archives
- Today
- Total
말랑말랑 LAB
[JavaScript] reduce 함수 본문
Reduce 함수
o Reduce 함수?
- 연속적으로 함수를 호출하여 실행 결과를 만들어주는 함수
- _reduce(list, iter, memo)
- @param list - 객체
- @param iter - 실행 함수
- @param memo - 시작값
- (memo값부터 시작하여) 모든 데이터들을 이 함수를 통해 축약시켜서 원하는 새로운 결과(자료)를 만들 때 사용
o 코드
- 모든 데이터를 순회하면서 iter 함수를 실행하고, 그 결과를 memo에 계속 덮어씀
memo 파라미터가 없는 경우 대비
argument 가 2개일 때 --> list의 첫번째 값을 memo로 설정
slice() 메서드로 (memo로 설정된) list의 첫번째 값 제외
그러나, list가 array가 아닌 array-like 객체라면 --> slice 메서드가 동작하지 않음
call 을 사용하여 slice 메서드를 호출시켜줘야 함
Array의 slice 메서드를 call 로 호출해주는 _rest 함수를 따로 생성하여 _reduce 함수에서 호출
o 최종 예제코드
'JavaScript > 함수형 프로그래밍' 카테고리의 다른 글
[JavaScript] _each 의 외부 다형성 높이기 (0) | 2019.01.02 |
---|---|
[JavaScript] pipe 함수, go 함수 (0) | 2018.12.26 |
[JavaScript] 커링 (0) | 2018.12.24 |
[JavaScript] 일급 함수 (0) | 2018.12.20 |
[JavaScript] 순수 함수 (0) | 2018.12.19 |
Comments