Returns the minimum element in the sequence, using the given predicate as the comparison between elements.
SDK
- Xcode 8.0+
Framework
- Swift Standard Library
Declaration
Parameters
areInIncreasingOrder
A predicate that returns
true
if its first argument should be ordered before its second argument; otherwise,false
.
Return Value
The sequence’s minimum element, according to are
. If the sequence has no elements, returns nil
.
Discussion
The predicate must be a strict weak ordering over the elements. That is, for any elements a
, b
, and c
, the following conditions must hold:
are
is alwaysIn Increasing Order(a, a) false
. (Irreflexivity)If
are
andIn Increasing Order(a, b) are
are bothIn Increasing Order(b, c) true
, thenare
is alsoIn Increasing Order(a, c) true
. (Transitive comparability)Two elements are incomparable if neither is ordered before the other according to the predicate. If
a
andb
are incomparable, andb
andc
are incomparable, thena
andc
are also incomparable. (Transitive incomparability)
This example shows how to use the min(by:)
method on a dictionary to find the key-value pair with the lowest value.
Complexity: O(n), where n is the length of the sequence.