---
title: "randomElement(using:)"
framework: swift
role: symbol
role_heading: Instance Method
path: "swift/anyregexoutput/randomelement(using:)"
---

# randomElement(using:)

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

## Declaration

```swift
func randomElement<T>(using generator: inout T) -> Self.Element? where T : RandomNumberGenerator
```

## Parameters

- `generator`: The random number generator to use when choosing a random element.

## Return Value

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

## Discussion

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" note: O(1) if the collection conforms to RandomAccessCollection; otherwise, O(n), where n is the length of the collection. note: The algorithm used to select a random element may change in a future version of Swift. If you’re passing a generator that results in the same sequence of elements each time you run your program, that sequence may change when your program is compiled using a different version of Swift.
