Ich möchte eine Erweiterung schreiben, die es mir erlaubt, in ein Array und eine festgelegte Anzahl von Elementen aus diesem Array ohne wiederholte Elemente zurückgeben. Wie würde ich das tun? Das habe ich bisher, aber es ist nicht perfekt. Es berücksichtigt keine Duplikate und es scheint nicht der beste Weg dafür zu sein. Ich dachte, es könnte Sinn machen, einen Satz für Duplikate zu verwenden.Erhalten Sie eine bestimmte Anzahl von zufälligen Elementen aus Array
extension Array {
func randomElement(numberOfItems:Int) -> [Element] {
var finalReturn = Array()
for i in 0..<numberOfItems {
finalReturn.append(self[Int(arc4random_uniform(UInt32(self.count)))])
}
return finalReturn
}
}
Nutzung sollte so sein.
let selected = allData.randomElement(numberOfItems: 10)
Hat meine Lösung für Sie funktioniert? – nathan