Instance Method


Returns a random element of the collection.


func randomElement() -> Element?

Return Value

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


Call randomElement() to select a random element from an array or another collection. This example picks a name at random from an array:

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

This method is equivalent to calling randomElement(using:), passing in the system’s default random generator.

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

See Also

Accessing Elements

subscript(Int) -> Element

Accesses the element at the specified position.

var first: Element?

The first element of the collection.

var last: Element?

The last element of the collection.

subscript(Range<Int>) -> ArraySlice<Element>

Accesses a contiguous subrange of the array’s elements.

subscript(Range<Int>) -> Slice<Array<Element>>

Accesses a contiguous subrange of the collection’s elements.

subscript<R>(R) -> ArraySlice<Element>

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

func randomElement<T>(using: T) -> Element?

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