Arrays 随机数组范围1-4,每个数字只打印两次

Arrays 随机数组范围1-4,每个数字只打印两次,arrays,random,swift,Arrays,Random,Swift,我试图学习如何将一系列数字1到4分配给一个数组,每个数字打印两次。我不知道如何使用随机范围打印特定次数的数字 不确定这是否正确。我没有真正使用for循环,但我确实学习了它们。由于如何做到这一点的障碍,甚至没有完成 顺便说一下,这也是我正在制作的一款卡片匹配游戏,所以我只需要打印两次 /*for index in imageArray { imageArray[index] = }*/ 要将数字1到4分配给数组,请执行以下操作: let numbers = Array(1

我试图学习如何将一系列数字1到4分配给一个数组,每个数字打印两次。我不知道如何使用随机范围打印特定次数的数字

不确定这是否正确。我没有真正使用for循环,但我确实学习了它们。由于如何做到这一点的障碍,甚至没有完成

顺便说一下,这也是我正在制作的一款卡片匹配游戏,所以我只需要打印两次

/*for index in imageArray
    {
    imageArray[index] =
    }*/

要将数字1到4分配给数组,请执行以下操作:

let numbers = Array(1...4)
let numbers = Array(1...4) + Array(1...4)
要将数字1到4分配给数组两次,请执行以下操作:

let numbers = Array(1...4)
let numbers = Array(1...4) + Array(1...4)
要重新排列这些数字:

var shuffledNumbers = numbers.shuffled()
在Swift 4.2及更高版本中,您可以使用内置的无序方法。在早期版本中,您必须编写自己的,例如,使用算法:

// see http://stackoverflow.com/a/24029847/1271826

extension MutableCollection {

    /// Shuffle the elements of `self` in-place.

    mutating func shuffle() {
        if count < 2 { return }    // empty and single-element collections don't shuffle

        for i in 0 ..< count - 1 {
            let j = Int(arc4random_uniform(UInt32(count - i)))
            if j != 0 {
                let current = index(startIndex, offsetBy: i)
                let swapped = index(current, offsetBy: j)
                swapAt(current, swapped)
            }
        }
    }

    /// Return shuffled collection the elements of `self`.

    func shuffled() -> Self {
        var results = self
        results.shuffle()
        return results
    }

}

您可以粘贴用于打印值的代码吗?这可能有助于修复它