¿Cómo establecer el valor (cadena) de una variable para que sea igual a una clave en una matriz?
Tengo la siguiente matriz:
var deckArray = [
"card1": ["rank","suit"],
"card2": ["rank","suit"],
"card3": ["rank","suit"],
"card4": ["rank","suit"],
"card5": ["rank","suit"],
"card6": ["rank","suit"],
"card7": ["rank","suit"],
]
Recorté el resto de la matriz por brevedad, pero todo contiene 52 objetos. Lo que quiero hacer es elegir un número aleatorio del 1 al 52 y establecer elfirstCardString
propiedad para que sea igual a la clave que corresponda a ese índice en la matriz.
Por ejemplo, si el número aleatorio que genera es5
, estableceríafirstCardString
ser igual acard5
.
He intentado hacerlo así:
let firstRandomNumber = Int(arc4random_uniform(52))
let firstCardString:String = self.deckArray[firstRandomNumber]
Pero recibo el siguiente error:
No se puede subíndice un valor de tipo '[String: Array]' con un índice de tipo 'Int'
Esto no tiene sentido, porquefirstCardString:string
es explícitamente de tipostring
no int.