有没有办法立即生成一个数组,其中填充了 Swift 中递减值的范围?

Is there a way to instantly generate an array filled with a range of decreasing values in Swift?

我知道你可以用 Array(0...10) 生成一个正常范围,但是反过来呢?

例如:

[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

你可以这样做:

let tenToZero: [Int] = (0...10).reversed()

注意这里必须指定类型,否则会使用reversed的重载,即returns a ReversedCollection.

或者,您可以使用任一 stride 函数并使用 -1 作为 by 参数:

示例:

let tenToZero = Array(stride(from: 10, through: 0, by: -1))