实例方法
min(by:)
返回序列中的最小元素,使用给定的谓词作为元素之间的比较。
声明
@warn_unqualified_access func min(by areInIncreasingOrder: (Self.Element, Self.Element) throws -> Bool) rethrows -> Self.Element?
返回值
序列的最小元素,根据 areInIncreasingOrder
。如果序列没有元素,则返回 nil
。
参数
areInIncreasingOrder
如果其第一个参数应在其第二个参数之前排序,则返回
true
的谓词;否则,false
。
详述
谓词必须是元素上的strict weak ordering
。也就是说,对于任何元素 a
、 b
和 c
,必须满足以下条件:
-
areInIncreasingOrder(a, a)
始终是false
。 (非反身性) -
如果
areInIncreasingOrder(a, b)
和areInIncreasingOrder(b, c)
都是true
,那么areInIncreasingOrder(a, c)
也是true
。 (传递可比性) -
如果根据谓词,两个元素都没有排在另一个之前,则两个元素是
incomparable
。如果a
和b
不可比,b
和c
不可比,那么a
和c
也是不可比的。 (传递不可比性)
此示例说明如何在字典上使用 min(by:)
方法来查找具有最低值的键值对。
let hues = ["Heliotrope": 296, "Coral": 16, "Aquamarine": 156]
let leastHue = hues.min { a, b in a.value < b.value }
print(leastHue)
// Prints "Optional((key: "Coral", value: 16))"
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
相关用法
- Swift LazyMapSequence.Iterator min()用法及代码示例
- Swift LazyMapSequence.Iterator max(by:)用法及代码示例
- Swift LazyMapSequence.Iterator max()用法及代码示例
- Swift LazyMapSequence.Iterator map(_:)用法及代码示例
- Swift LazyMapSequence.Iterator contains(where:)用法及代码示例
- Swift LazyMapSequence.Iterator drop(while:)用法及代码示例
- Swift LazyMapSequence.Iterator lexicographicallyPrecedes(_:)用法及代码示例
- Swift LazyMapSequence.Iterator prefix(_:)用法及代码示例
- Swift LazyMapSequence.Iterator compactMap(_:)用法及代码示例
- Swift LazyMapSequence.Iterator joined(separator:)用法及代码示例
- Swift LazyMapSequence.Iterator enumerated()用法及代码示例
- Swift LazyMapSequence.Iterator sorted(by:)用法及代码示例
- Swift LazyMapSequence.Iterator filter(_:)用法及代码示例
- Swift LazyMapSequence.Iterator shuffled()用法及代码示例
- Swift LazyMapSequence.Iterator contains(_:)用法及代码示例
- Swift LazyMapSequence.Iterator shuffled(using:)用法及代码示例
- Swift LazyMapSequence.Iterator reduce(into:_:)用法及代码示例
- Swift LazyMapSequence.Iterator sorted()用法及代码示例
- Swift LazyMapSequence.Iterator starts(with:)用法及代码示例
- Swift LazyMapSequence.Iterator forEach(_:)用法及代码示例
- Swift LazyMapSequence.Iterator dropFirst(_:)用法及代码示例
- Swift LazyMapSequence.Iterator flatMap(_:)用法及代码示例
- Swift LazyMapSequence.Iterator first(where:)用法及代码示例
- Swift LazyMapSequence.Iterator joined()用法及代码示例
- Swift LazyMapSequence.Iterator elementsEqual(_:)用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 LazyMapSequence.Iterator min(by:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。