インスタンスメソッド


reduce(into:_:)


変更可能な初期値を与えられて、与えられたクロージャを使用して非同期シーケンスの要素を結合した結果を返します。


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

tvOS 13.0+ visionOS 1.0+ watchOS 6.0+

func reduce<Result>(
    into initialResult: Result,
    _ updateAccumulatingResult: (inout Result, Self.Element) async throws -> Void
) async rethrows -> Result




パラメータ


initialResult

初期累積値として使用すべき値。nextPartialResult クロージャは、クロージャが初めて実行されるときに initialResult を受け取ります。


updateAccumulatingResult

累積値と非同期シーケンスの要素を新しい累積値に結合するクロージャ。これは、nextPartialResult クロージャの次の呼び出しで使用されるか、呼び出し元に返されます。



戻り値


最終的な累積値。シーケンスに要素がない場合、結果は initialResult になります。



議論


シーケンス全体の要素から単一の値を生成するには、reduce(into:_:) メソッドを使用します。例えば、数値のシーケンスに対してこのメソッドを使用して、それらの和や積を求めることができます。


updateAccumulatingResult クロージャは、initialResult に初期化された累積値とシーケンスの各要素を使用して、順次実行されます。


結果がコピーオンライト型 (ArrayDictionary など) である場合は、効率性の観点から、 reduce(_:_:) よりもこのメソッドを優先してください。





以下も見よ


非同期の結果シーケンスへのアクセス


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

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


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

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


func prefix(Int) -> AsyncPrefixSequence<Self>

基本非同期シーケンスの最初の要素を含む、指定された最大長さまでの非同期シーケンスを返します。


func prefix(while: (Self.Element) async -> Bool) rethrows -> AsyncPrefixWhileSequence<Self>

与えられた述語を満たす基本シーケンスの最初の連続要素を含む非同期シーケンスを返します。


func reduce<Result>(Result, (Result, Self.Element) async throws -> Result) async rethrows -> Result

与えられたクロージャを使用して非同期シーケンスの要素を結合した結果を返します。














トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ