首页 > 解决方案 > 如何从数组中获取随机元素并将其从那里删除?

问题描述

我知道有一个函数randomElement()可以获取随机元素并返回它。

var array = ["a", "b", "c", "d", "e"]
var result = array.randomElement()
print(array) //["a", "b", "c", "d", "e"]
print(result) //Optional("c")

所以它工作得很好,但所有数组都保持原样。如何从数组中删除该随机元素?有没有一种无需迭代、查找和删除的快速方法?

标签: arraysswift

解决方案


选择随机索引而不是随机元素。

if let index = array.indices.randomElement() {
    let value = array.remove(at: index)
    // ...
}

推荐阅读