으니의 개발로그

[Swift] 필터(filter) 본문

Swift/책 정리

[Swift] 필터(filter)

아잉으니야 2021. 2. 4. 18:45

[Swift] 필터(filter)

이 글은 Swift 프로그래밍 책을 읽고 요약한 내용입니다.

 

필터 : 컨테이너 내부의 값을 걸러서 추출해주는 함수

 

필터 메서드의 사용

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

let evenNumbers: [Int] = numbers.filter{ (number: Int) -> Bool in
    return number % 2 == 0
}
print(evenNumbers)
/* [0, 2, 4] */

let oddNumbers: [Int] = numbers.filter{ $0 % 2 == 1 }
print(oddNumbers)
/* [1, 3, 5] */

 

맵과 필터 메서드의 연계 사용

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

let mappedNumbers: [Int] = numbers.map { $0 + 3 }

let evenNumbers: [Int] = mappedNumbers.filter { (number: Int) -> Bool in
    return number % 2 == 0
}
print(evenNumbers)
/* [4, 6, 8] */

// mappedNumbers를 굳이 여러 번 사용할 필요가 없다면 메서드를 체인처럼 연결하여 사용할 수 있다.
let oddNumbers: [Int] = numbers.map{ $0 + 3 }.filter{ $0 % 2 == 1 }
print(oddNumbers)
/* [3, 5, 7] */