내가 자주쓰는 Higher-order Function !!
Collection Type에서 자주 쓰는 고차함수를 정리 해봤어요 !!
Higher-order Function
고차함수
1 | 하나 이상의 함수를 인자로 취하는 함수 |
1급 객체
1 | 변수나 데이터에 할당할 수 있어야한다 |
forEach
- 컬렉션의 각 요소(Element)에 동일 연산을 적용하며, 반환값이 없는 형태
1 | // 배열의 값을 print |
map
- 컬렉션의 각 요소(Element)에 동일 연산을 적용하여, 변형된 새 컬렉션 반환
1 | // 배열의 값에 *2 |
filter
- 컬렉션의 각 요소를 평가하여 조건을 만족하는 요소만을 새로운 컬렉션으로 반환
1 | // 배열의 값에 "Bob"가 포함된 것만 반환 |
reduce
- 컬렉션의 각 요소들을 결합하여 단 하나의 타입을 지닌 값으로 변환 (ex. Int, String)
1 | (1...100) |
compactMap
- 컬렉션의 각 요소(Element)에 동일 연산을 적용하여 변형된 새 컬렉션 반환
- 옵셔널 제거
1 | // nil값이 제거가 된 후 반환 |
flatMap
- 중첩된 컬렉션을 하나의 컬렉션으로 병합
1 | // 2중 배열을 1중 배열로 변환 |