Get a random unique element from an Array until all elements have been picked in Swift

前端 未结 5 1471
不思量自难忘°
不思量自难忘° 2020-12-12 08:32

I have the following array:

var notebookCovers = [\"cover1\", \"cover2\", \"cover3\", \"cover4\", \"cover4\", \"cover6\", \"cover7\", \"cover8\", \"cover9\"         


        
5条回答
  •  鱼传尺愫
    2020-12-12 08:48

    You can try something like this,

    var notebookCovers = ["cover1", "cover2", "cover3", "cover4", "cover4", "cover6", "cover7", "cover8", "cover9", "cover10"]
    var tappedNotebooks: [String] = []
    func tapping() {
        let notebook  =  notebookCovers[Int.random(in: 0...notebookCovers.count - 1)]
        if tappedNotebooks.contains(notebook){
            print("already exists trying again!")
            tapping()
        } else {
            tappedNotebooks.append(notebook)
            print("appended", notebook)
        }
        if tappedNotebooks == notebookCovers {
            tappedNotebooks = []
            print("cleared Tapped notebooks")
        }
    }
    

提交回复
热议问题