Generic Instance Method

randomElement(using:)

Returns a random element of the collection, using the given generator as a source for randomness.

Declaration

func randomElement<T>(using generator: inout T) -> Bound? where T : RandomNumberGenerator

Parameters

generator

The random number generator to use when choosing a random element.

Return Value

A random element from the collection. If the collection is empty, the method returns nil.

Discussion

Call randomElement(using:) to select a random element from an array or another collection when you are using a custom random number generator. This example picks a name at random from an array:

let names = ["Zoey", "Chloe", "Amani", "Amaia"]
let randomName = names.randomElement(using: &myGenerator)!
// randomName == "Amani"

Complexity: O(1) if the collection conforms to RandomAccessCollection; otherwise, O(n), where n is the length of the collection.

See Also

Accessing Elements

var first: Bound?

The first element of the collection.

var last: Bound?

The last element of the collection.

subscript(Range<Bound>.Index) -> Range<Bound>.Element

Accesses the element at specified position.

subscript(Range<Range<Bound>.Index>) -> Range<Bound>

Accesses the subsequence bounded by the given range.

subscript<R>(R) -> Range<Bound>

Accesses the contiguous subrange of the collection’s elements specified by a range expression.

subscript((UnboundedRange_) -> ()) -> Range<Bound>
func randomElement() -> Bound?

Returns a random element of the collection.