Saltar al contenido

Cómo acceder a un elemento aleatorio en un diccionario en Swift

Solución:

Tienes que lanzar algunas cosas, pero esto parece funcionar.

var dict:[String:Int] = ["A":123, "B": 234, "C": 345]
let index: Int = Int(arc4random_uniform(UInt32(dict.count)))
let randomVal = Array(dict.values)[index] # 123 or 234 or 345

Básicamente, genere un valor de índice aleatorio entre cero y el recuento total de artículos. Obtenga los valores del diccionario como una matriz y luego obtenga el índice aleatorio.

Incluso podría envolverlo en una extensión para facilitar el acceso.

Swift 4.2+ (Xcode 10+) presenta dos posibilidades simples.

Cualquiera de los elementos randomElement:

let randomVal = myDict.values.randomElement()

O elemento aleatorio:

let randomVal = myDict.randomElement().value
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *