Swift中有没有方法可以快速生成填充递减数值范围的数组?
以下是Swift语言的实现方案:
方法1:使用stride方法直接生成逆序数组(推荐)
这是最高效的写法,不需要额外做反转操作,直接按递减规则生成目标数组:
let reversedArray = Array(stride(from: 10, through: 0, by: -1)) // 输出结果:[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
参数说明:
from:起始值,也就是数组的第一个元素through:结束值,生成的数组会包含这个值by:步长,传负数就是递减步长
方法2:正序数组反转
如果已经有正序的范围,直接调用反转方法也可以实现,写法更简洁,适合小数组场景:
let reversedArray = Array((0...10).reversed()) // 输出结果:[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
注意要给范围加括号再调用reversed(),避免语法报错。
内容的提问来源于stack exchange,提问作者Amy L.
相关产品推荐
相关产品推荐

