從數組中選擇一個隨機元素假設我有一個數組,我想隨機選擇一個元素。最簡單的方法是什么?顯而易見的方式是array[random index]。但也許有類似紅寶石的東西array.sample?或者如果沒有,可以使用擴展程序創建這樣的方法?
3 回答

慕田峪4524236
TA貢獻1875條經驗 獲得超5個贊
Swift 4.2及以上版本
新推薦的方法是Collection協議的內置方法:randomElement()
。它返回一個可選項以避免我之前假設的空案例。
let array = ["Frodo", "Sam", "Wise", "Gamgee"]print(array.randomElement()!) // Using ! knowing I have array.count > 0
如果您不創建數組并且不保證計數> 0,您應該執行以下操作:
if let randomElement = array.randomElement() { print(randomElement)}
Swift 4.1及以下版本
只是回答你的問題,你可以這樣做以實現隨機數組選擇:
let array = ["Frodo", "sam", "wise", "gamgee"]let randomIndex = Int(arc4random_uniform(UInt32(array.count)))print(array[randomIndex])
鑄件是丑陋的,但我相信它們是必需的,除非別人有另一種方式。
添加回答
舉報
0/150
提交
取消