IOS- 12

김정현·2023년 3월 20일
0

IOS 개발공부 일지

목록 보기
12/27

맵은 자신을 호출할 때 매개변수로 전달된 함수를 실행하여 그 결과를 다시 반환해주는 함수이다.
맵을 사용하면 컨테이너가 담고 있던 각각의 값을 매개변수를 통해 받은 함수에 적용한 후 다시 컨테이너에 포장하여 반환한다.

let numvers: [Int] = [0, 1, 2, 3, 4]

var Anumbers: [Int] = [int]()

Anumbers = numbers.map({ (number:Int) -> Int in 
              return number * 2
})     //map+클로저 사용

Anumbers = numbers.map{( return $0 * 2 })      //클로저의 축약형까지 사용

필터

컨테이너 내부의 값을 걸러서 추출하는 역할을 한다. 필터의 매개변수로 전달되는 함수의 반환 타입은 Bool 타입이다.

let numbers: [Int] = [0, 1, 2, 3, 4, 5]

let evennumbers: [Int] = numbers.filter { (number: Int) -> Bool in
   return number % 2 == 0
}

==

let evennumbers: [Int] = numbers.filter { $0 % 2 != 0 }   // 축약형

리듀스

결합의 기능이다. 컨테이너 내부의 콘텐츠를 하나로 합하는 기능을 실행하는 고차함수이다. 배열이라면 배열의 모든 값을 전달인자로 전달받은 클로저의 연산 결과로 합한다.

var A: Int = somenumbers.reduce(0, {
(first: Int, second: Int) -> Int in
     return first - second      
})         //0에서 내부의 모든값을 뺀다.

var A: Int = somenumbers.reduce(0) { $0 - $1}

0개의 댓글