erstellen Sie ein array von Zufallszahlen in swift
Ich bin gerade erst anfangen zu lernen, swift.
Ich bin versucht, ein array erstellen, die von mehreren Zufallszahlen, und schließlich Sortieren Sie das array. Ich bin in der Lage, erstellen Sie ein array mit einer zufälligen Zahl, aber was ist der beste Weg zu Durchlaufen, diese zu erstellen, die ein array von mehreren Zufallszahlen?
func makeList() {
var randomNums = arc4random_uniform(20) + 1
let numList = Array(arrayLiteral: randomNums)
}
makeList()
Jede Hilfe wird sehr geschätzt.
- Definiere "mehrere", wissen Sie über "for-Schleifen"?
- ja, kenne ich for-Schleifen in javascript. Ich nehme an, ich möchte eine for-Schleife iteriert 5 mal, nur so zum Beispiel Willen.
- möglich, Duplikat der kürzesten code zu erstellen, die ein array von Zufallszahlen in swift?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Edit/update: Swift 4.2 oder höher
In Swift 4.2 es ist eine neue statische Methode für die Feste Breite mit ganzen zahlen, macht die syntax nutzerfreundlicher:
Können wir auch verlängern
Range
undClosedRange
und erstellen Sie eine Methode, um zurückn
zufällige Elemente:Verwendung:
Hinweis: für Swift 3, 4 und 4.1 und früheren Versionen klicken Sie auf hier.
Ok, das ist copy/paste von eine Frage, die anderswo, aber ich denke, ich werde versuchen, denken Sie daran, dass die one-liner :
(Ich Liebe es !)
BEARBEITEN
Wenn Sie eine zufällige Zahl mit einer Obergrenze (exklusive), verwenden Sie arc4random_uniform(upperBound)
z.B. : Zufallszahl zwischen 0 & 99 :
arc4random_uniform(100)
Swift 2 update
arc4random()
Funktion, aber Sie könnenarc4random_uniform(100)
. Antwort bearbeitet!map
... naja, es ist die map-Funktion ! (schauen Sie für die funktionale Programmierung um mehr darüber zu erfahren). Es gilt für alle Mitglieder der Reihe. Also jede Zahl zwischen 1 & 100 zugeordnet ist, um eine zufällige Zahl zwischen 0 & 99. Et voilà : du hast ein array aus 100 zufälligen zahlen zwischen 0 & 99! 🙂 Die SO link, den ich in meiner Antwort für die weitere Erklärung.Swift 4.2 oder höher
Swift 5
Diese erstellt ein array der Größe 5, und deren Elemente im Bereich von 1 bis 10 inklusive.
Wie über dieses? Arbeitet in Swift 5 und Swift 4.2:
Verwendung:
Druckt z.B.:
Dem obigen Ansatz gibt Ihnen eindeutige Nummern. Allerdings, wenn Sie brauchen, redundante Werte, verwenden Sie die folgende Implementierung:
Eine kürzere version der oben mit Hilfe von map():