【发布时间】:2019-12-14 12:02:20
【问题描述】:
如果超出范围,是否可以通过切片获取数组的元素?例如:
var array = [0,1,2,3,4]
print(array[3...100])
有什么方法可以得到[3,4]?我只需要属于该范围的部分。例如,在 Python 中,我可以创建一个数组 [3: 100] 并获取落入此范围内的元素而不会出错。也许在 swift 中有一个类似物?
【问题讨论】:
-
print(array.filter { 3...100 ~= $0 }) -
print(array[3...min(100, array.endIndex - 1)]) -
@vacawama 这假定数组至少有 4 个项目。
-
@LeoDabus,这是正确的,否则 boom。顺便说一句,当 OP 真正询问索引时,您的评论正在过滤值。
-
我已经意识到了