Programming/Swift
[Swift] allSatisfy(_:) method
알레아
2021. 8. 24. 11:11
반응형
컬렉션의 각 원소들이 특정 조건에 만족하는지 확인하는 method
swift 4.2부터 제공
https://developer.apple.com/documentation/swift/array/2994715-allsatisfy
https://github.com/apple/swift-evolution/blob/master/proposals/0207-containsOnly.md
ex)
let names = ["Sofia", "Camilla", "Martina", "Mateo", "Nicolás"]
let allHaveAtLeastFive = names.allSatisfy({ $0.count >= 5 })
// allHaveAtLeastFive == true
let numbers = [1, 3, 4, 11, 34]
let allHaveAtLeastFive = numbers.allSatisfy({ $0 % 2 == 0 })
// allHaveAtLeastFive == false
struct Message {
var text: String
var flaggedForDeletion: Bool
}
let messages = Array(0..100).map({ Message(text: "\(%0)", flaggedForDeletion: %0 % 2 == 0) })
let canDelete = messages.allSatisfy({ $0.falggedForDeletion })
// canDelete == false
.filter() 와 다른점
filter의 경우 배열 자체가 변경됨.
allSatisfy의 같은 경우 validation만 체크
let numbers = [1, 3, 4, 11, 34]
let allHaveAtLeastFive = numbers.filter({ $0 % 2 == 0 })
// allHaveAtLeastFive = [4, 34]
반응형