获取数组元素并移除



我有几个元素的数组,我想从该数组中生成一个随机元素,生成后我想删除该元素。我尝试了remove方法,但它返回一个错误Cannot find 'randSachmeli' in scoperandSachmeli是一个随机生成的数组

struct SachmelebiData {
let name:String
let link:String
}
var mainMenu:[SachmelebiData] = [
SachmelebiData(name: "ხინკალი", link: ""),
SachmelebiData(name: "მწვადი", link: ""),
SachmelebiData(name: "yleyveri", link: "")
]
let yvelaSachmeli:[SachmelebiData] = mainMenu
var randSachemli = yvelaSachmeli.randomElement()
yvelaSachmeli.remove(randSachmeli)

通过从数组索引中获取随机索引,从索引中获取随机元素。然后按索引删除元素。

var yvelaSachmeli:[SachmelebiData] = mainMenu
// Get the random element from the array
guard let randomIndexFromArray = yvelaSachmeli.indices.randomElement() else {
return
}
// Get the element from the index
var randSachemli = yvelaSachmeli[randomIndexFromArray]
// Remove the element by index
yvelaSachmeli.remove(at: randomIndexFromArray)

最新更新