文書   >   Swift   >   Array   >   contains(where:)
インスタンスメソッド
contains(where:)
指定された述語 (predicate) を満たす要素がシーケンスに含まれているかどうかを示すブール値を返します。
宣言
パラメータ
predicate | シーケンスの要素をその引数として取り、渡された要素が一致を表すかどうかを示すブール値を返すクロージャ。 |
戻り値
シーケンスが predicate を満たす要素を含む場合、true。そうでなければ、false。
議論
この例の HTTPResponse 列挙体のように、Equatable プロトコルに準拠していない型の要素を、predicate (述語) を使用してチェックできます。
enum HTTPResponse {
case ok
case error(Int)
}
let lastThreeResponses: [HTTPResponse] = [.ok, .ok, .error(404)]
let hadError = lastThreeResponses.contains { element in
if case .error = element {
return true
} else {
return false
}
}
// 'hadError' == true
あるいは、述語 (predicate) は、ある範囲の Equatable な要素または一般条件によって満たすことができます。この例では、100 ドルを超える出費について配列を確認する方法を示します。
let expenses = [21.37, 55.21, 9.32, 10.18, 388.77, 11.41]
let hasBigPurchase = expenses.contains { $0 > 100 }
// 'hasBigPurchase' == true
複雑さ:O(n)、ここで n はシーケンスの長さです。
以下も見よ
要素の検索
func contains(Element) -> Bool
シーケンスに与えられた要素が含まれているかどうかを示すブール値を返します。
Element が Equatable に準拠している場合に利用可能です。
func allSatisfy((Element) -> Bool) -> Bool
シーケンスのすべての要素が与えられた述語 (predicate) を満たすかどうかを示すブール値を返します。
func first(where: (Element) -> Bool) -> Element?
与えられた述語を満たすシーケンスの最初の要素を返します。
func firstIndex(of: Element) -> Int?
指定された値がコレクション内で現れる最初のインデックスを返します。
Element が Equatable に準拠している場合に利用可能です。
func index(of: Element) -> Int?
指定された値がコレクション内で現れる最初のインデックスを返します。
Element が Equatable に準拠している場合に利用可能です。
  廃止  
func firstIndex(where: (Element) -> Bool) -> Int?
コレクションの要素が与えられた述語 (predicate) を満たす最初のインデックスを返します。
func last(where: (Element) -> Bool) -> Element?
与えられた述語 (predicate) を満たすシーケンスの最後の要素を返します。
func lastIndex(of: Element) -> Int?
指定した値がコレクション内で現れる最後のインデックスを返します。
Element が Comparable に準拠している場合に利用可能です。
func lastIndex(where: (Element) -> Bool) -> Int?
与えられた述語 (predicate) に一致するコレクション内の最後の要素のインデックスを返します。
シーケンス内の最小の要素を返します。
Element が Comparable に準拠している場合に利用可能です。
func min(by: (Element, Element) -> Bool) -> Element?
与えられた述語 (predicate) を要素間の比較として使って、シーケンス内の最小の要素を返します。
シーケンス内の最大の要素を返します。
Element が Comparable に準拠している場合に利用可能です。
func max(by: (Element, Element) -> Bool) -> Element?
与えられた述語 (predicate) を要素間の比較として使って、シーケンス内の最大の要素を返します。
トップへ
トップへ
トップへ
トップへ
トップへ