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) -> Int? 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.