六个随机数,但重复?怎么不重复?迅速

时间:2017-07-11 18:49:13

标签: swift random numbers

我有这段代码:

import UIKit

class ViewController: UIViewController {
    @IBAction func geraNumeros(_ sender: Any) {
        var numeroAleatorio:[Int] = []

        for _ in 1...6 {
            numeroAleatorio.append(Int(arc4random_uniform(60)+1))
        }

        numeroAleatorio.sort()

        labelNumeros.text = "\(numeroAleatorio[0]) - \(numeroAleatorio[1]) - \(numeroAleatorio[2]) - \(numeroAleatorio[3]) - \(numeroAleatorio[4]) - \(numeroAleatorio[5]) "

    }

    @IBOutlet weak var labelNumeros: UILabel!
}

但有时会重复数字,例如:

10 - 18 - 12 - 10 - 30 - 60

喜欢10-10,那该怎么办?

1 个答案:

答案 0 :(得分:0)

在将值附加到数组之前,请使用.contains()函数检查数组中是否已存在该值。如果它存在,继续循环,直到我们有我们需要的6个元素。

为此,您必须更改循环以保持循环,直到找到6个有效元素。

这样的东西
while numeroAleatorio.count < 6