实例方法
first(where:)
返回满足给定谓词的序列的第一个元素。
声明
func first(where predicate: (Self.Element) async throws -> Bool) async rethrows -> Self.Element?
返回值
满足 predicate
的序列的第一个元素,如果没有满足 predicate
的元素,则为 nil
。
参数
predicate
一个闭包,它将异步序列的元素作为其参数并返回一个布尔值,该值指示该元素是否匹配。
详述
在此示例中,名为 Counter
的异步序列生成从 1
到 10
的 Int
值。 first(where:)
方法返回可以被 2
和 3
整除的序列的第一个成员。
let divisibleBy2And3 = await Counter(howHigh: 10)
.first { $0 % 2 == 0 && $0 % 3 == 0 }
print(divisibleBy2And3 ?? "none")
// Prints: 6
每次异步序列产生一个元素时,谓词都会执行,直到谓词找到匹配项或序列结束。
可用版本
iOS 13.0+, iPadOS 13.0+, macOS 10.15+, Mac Catalyst 13.0+, tvOS 13.0+, watchOS 6.0+
相关用法
- Swift AsyncThrowingMapSequence filter(_:)用法及代码示例
- Swift AsyncThrowingMapSequence flatMap(_:)用法及代码示例
- Swift AsyncThrowingMapSequence reduce(_:_:)用法及代码示例
- Swift AsyncThrowingMapSequence contains(_:)用法及代码示例
- Swift AsyncThrowingMapSequence min()用法及代码示例
- Swift AsyncThrowingMapSequence prefix(_:)用法及代码示例
- Swift AsyncThrowingMapSequence max()用法及代码示例
- Swift AsyncThrowingMapSequence allSatisfy(_:)用法及代码示例
- Swift AsyncThrowingMapSequence dropFirst(_:)用法及代码示例
- Swift AsyncThrowingMapSequence drop(while:)用法及代码示例
- Swift AsyncThrowingMapSequence max(by:)用法及代码示例
- Swift AsyncThrowingMapSequence prefix(while:)用法及代码示例
- Swift AsyncThrowingMapSequence compactMap(_:)用法及代码示例
- Swift AsyncThrowingMapSequence min(by:)用法及代码示例
- Swift AsyncThrowingMapSequence contains(where:)用法及代码示例
- Swift AsyncThrowingMapSequence map(_:)用法及代码示例
- Swift AsyncThrowingFlatMapSequence min()用法及代码示例
- Swift AsyncThrowingPrefixWhileSequence drop(while:)用法及代码示例
- Swift AsyncThrowingPrefixWhileSequence filter(_:)用法及代码示例
- Swift AsyncThrowingDropWhileSequence first(where:)用法及代码示例
- Swift AsyncThrowingCompactMapSequence drop(while:)用法及代码示例
- Swift AsyncThrowingFilterSequence drop(while:)用法及代码示例
- Swift AsyncThrowingCompactMapSequence prefix(while:)用法及代码示例
- Swift AsyncThrowingDropWhileSequence flatMap(_:)用法及代码示例
- Swift AsyncThrowingStream filter(_:)用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 AsyncThrowingMapSequence first(where:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。