我想根据索引循环遍历 Swift 中数组的一部分,而不是整个数组。该数组来自 API,因此我事先不知道元素的数量。
例如对于数组["Joe's pizza","Sal's Pizza","Pizza Hut"]
,我只想循环到前三个(如果有三个)然后停止。在某些情况下,起始数组将少于 3 个元素,而在其他情况下则多于 3 个元素,具体取决于 API 返回的内容。
我的如下代码不起作用。
let myArray = ["Joe's","Sal's","Pizza Hut","Domino's","John's","Pizza King"]//from API. Could be more or less
let numElements = myArray.count
if numElements = 0 {
print("none found")
return
}
var i = 0
var str = ""
while i <= 2 {
for i in 1...numElements-1 {
print(i)
str = myArray[i]
print(str)
}//end for loop
i+=1
} // end while loop
代码将打印完整的 6,而不遵守 while 条件。如果我将 while 放在 for 循环中,它将不必要地遍历整个数组,尽管我只想要前 3 个,但这个数组可能很长
如何限制索引中使用的范围(当我不知道实际数组数量是否小于或大于我要寻找的数字时)。
谢谢您的任何建议。
您可以
prefix()
为此使用该方法,因为它从数组开头返回最多给定数量的元素。