Wie wird der Wert einer Variablen (Zeichenfolge) so festgelegt, dass er einem Schlüssel in einem Array entspricht?
Ich habe das folgende Array:
var deckArray = [
"card1": ["rank","suit"],
"card2": ["rank","suit"],
"card3": ["rank","suit"],
"card4": ["rank","suit"],
"card5": ["rank","suit"],
"card6": ["rank","suit"],
"card7": ["rank","suit"],
]
Der Kürze halber habe ich den Rest des Arrays abgeschnitten, aber das Ganze enthält 52 Objekte. Ich möchte eine Zufallszahl zwischen 1 und 52 auswählen und das @ setzefirstCardString
-Eigenschaft muss gleich dem Schlüssel sein, der diesem Index im Array entspricht.
Zum Beispiel, wenn die Zufallszahl, die es erzeugt, @ i5
, es würde @ setzfirstCardString
gleich @ secard5
.
Ich habe versucht es so zu machen:
let firstRandomNumber = Int(arc4random_uniform(52))
let firstCardString:String = self.deckArray[firstRandomNumber]
Aber ich erhalte den folgenden Fehler:
Kann keinen Wert vom Typ '[String: Array]' mit einem Index vom Typ 'Int' subskribieren
Das ergibt keinen Sinn, weilfirstCardString:string
ist explizit vom Typstring
, nicht int.