1
隨機元件發生我有7個元素的數組: VAR myArray的= [0,0,0,0,0,0,0]獲得從夫特陣列
我隨機處理過程中翻轉這些0以1點的: var myArray = [1,0,0,1,0,1,1]
我的問題是,我該如何得到仍爲零的隨機元素之一?例如,我希望系統能夠採取上面的第二個數組,並隨機選擇索引1,2或4.
這讓我難倒了幾個小時,任何幫助將不勝感激!
隨機元件發生我有7個元素的數組: VAR myArray的= [0,0,0,0,0,0,0]獲得從夫特陣列
我隨機處理過程中翻轉這些0以1點的: var myArray = [1,0,0,1,0,1,1]
我的問題是,我該如何得到仍爲零的隨機元素之一?例如,我希望系統能夠採取上面的第二個數組,並隨機選擇索引1,2或4.
這讓我難倒了幾個小時,任何幫助將不勝感激!
您可以枚舉數組,過濾元素等於零並映射元素偏移量。然後你只需要使用arc4random_uniform來隨機選擇其中的一個:
let myArray = [1, 0, 0, 1, 0, 1, 1]
let myZeroIndices = myArray.enumerated()
.filter{ $0.element == 0 }
.map{ $0.offset } // [1, 2, 4]
let randomIndice = myZeroIndices[Int(arc4random_uniform(UInt32(myZeroIndices.count)))] // 4
完美的工作 - 你先生,是一個紳士和學者,謝謝你! – tbaldw02
不用客氣 –