インスタンスメソッド


first(where:)


指定された述語を満たすシーケンスの最初の要素を返します。


iOS 13.0+ iPadOS 13.0+ Mac Catalyst 13.0+ macOS 10.15+

tvOS 13.0+ visionOS 1.0+ watchOS 6.0+

func first(where predicate: (Self.Element) async throws -> Bool) async rethrows -> Self.Element?




パラメータ


predicate

非同期シーケンスの要素をその引数として取り、その要素が一致するかどうかを示すブール値を返すクロージャ。



戻り値


predicate を満たすシーケンスの最初の要素。predicate を満たす要素がない場合は nil になります。



議論


以下の例では、Counter と呼ばれる非同期シーケンスが 1 から 10 までの Int 値を生成します。first(where:) メソッドは、23 の両方で割り切れるシーケンスの最初のメンバーを返します。


let divisibleBy2And3 = await Counter(howHigh: 10)
    .first { $0 % 2 == 0 && $0 % 3 == 0 }
print(divisibleBy2And3 ?? "none")
// Prints "6"

述語が一致を見つけるか、シーケンスが終了するまで、述語は非同期シーケンスが要素を生成するたびに実行されます。





以下も見よ


要素の検索


func contains(Self.Element) async rethrows -> Bool

非同期シーケンスに与えられた要素が含まれているかどうかを示すブール値を返します。


func contains(where: (Self.Element) async throws -> Bool) async rethrows -> Bool

非同期シーケンスに、与えられた述語を満たす要素が含まれているかどうかを示すブール値を返します。


func allSatisfy((Self.Element) async throws -> Bool) async rethrows -> Bool

非同期シーケンスによって生成されたすべての要素が与えられた述語を満たしているかどうかを示すブール値を返します。


func min() async rethrows -> Self.Element?

比較可能な要素の非同期シーケンス内の最小要素を返します。


func min(by: (Self.Element, Self.Element) async throws -> Bool) async rethrows -> Self.Element?

与えられた述語を要素間の比較として使用して、非同期シーケンス内の最小要素を返します。


func max() async rethrows -> Self.Element?

比較可能な要素の非同期シーケンス内の最大要素を返します。


func max(by: (Self.Element, Self.Element) async throws -> Bool) async rethrows -> Self.Element?

与えられた述語を要素間の比較として使用して、非同期シーケンス内の最大要素を返します。














トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ