У меня есть массив, как:
var names: String = [ "Peter", "Steve", "Max", "Sandra", "Roman", "Julia" ]
Я хотел бы получить 3 случайных элемента из этого массива. Я прихожу из С#, но в скором времени я не уверен, с чего начать. Я думаю, что я должен перетасовать массив, а затем выбрать первые 3 элемента из него, например?
Я попытался перетасовать его следующим расширением:
extension Array
{
mutating func shuffle()
{
for _ in 0..<10
{
sort { (_,_) in arc4random() < arc4random() }
}
}
}
но затем говорится, что "()" не может быть преобразовано в "[Int]" в месте расположения "shuffle()".
Для выбора ряда элементов я использую:
var randomPicks = names[0..<4];
который выглядит хорошо до сих пор.
Как перемешать? Или у кого-нибудь есть лучшее/более элегантное решение для этого?