Swift程序 遍历数组
数组是用来按顺序存储相同数据类型的元素的。在这篇文章中,我们将学习如何编写一个Swift程序来迭代一个数组。
在这里,我们使用以下方法来迭代数组中的每个元素—-。
- 使用for-in循环
-
使用forEach()函数
-
使用while循环
-
使用enumerated()函数
方法1:使用for-in循环
要在一个数组上迭代,我们可以使用for-in循环。
语法
for value in Sequence {
// statement
}
这里,value参数包含了迭代过程中数组的一个元素,Sequence代表数组。
例子
下面的Swift程序将对一个数组进行迭代。
import Foundation
import Glibc
// Creating an array of string type
let names = ["Lovely", "Mukta", "Mohini", "Norma", "Eli"]
// Using for loop to iterate through each element of the array
print("Array elements are:")
for str in names {
print(str)
}
输出
Array elements are:
Lovely
Mukta
Mohini
Norma
Eli
在上面的代码中,我们有一个字符串类型的数组。然后使用for-in循环遍历给定数组的每个元素并打印这些元素。
方法2:使用forEach(_:)函数
我们也可以使用forEach(:)函数来迭代给定数组的每个元素。forEach(:)函数对给定数组的每个元素调用给定的闭包。它的工作原理与for-in循环相同。
语法
func forEach(_C: (Self.Element)throws->Void)rethrows
这里,C代表一个闭包,它以给定数组的一个元素为参数。
例子
下面的Swift程序是对一个数组进行迭代。
import Foundation
import Glibc
// Creating an array of integer type
let MyValues = [20, 3, 3, 4, 21, 4, 7, 10, 8, 4, 2]
// Iterate over the elements of the array
// Using forEach() function
print("Array:")
MyValues.forEach { (ele) in
print(ele)
}
输出
Array:
20
3
3
4
21
4
7
10
8
4
2
在上面的代码中,我们有一个整数类型的数组。然后我们使用forEach{(ele)在print(ele)}函数和closure来迭代给定数组的元素,并将它们打印在屏幕上。
方法3:使用while循环
我们也可以使用while循环来迭代给定数组的每个元素。
语法
while(condition){
// Statement
}
这里,条件是任何表达式,语句是单个或多个语句块。在这里,只有当条件为真时,while循环才会迭代。如果条件为假,那么控制权就会转移到while循环之后的语句。
例子
下面的Swift程序是对一个数组进行迭代。
import Foundation
import Glibc
// Creating an array of integer type
let MyValues = [2.0, 3.3, 3.1, 2.4, 0.21, 0.42, 1.7, 1.203, 8.9]
print("Array:")
// Iterate over the elements of the array
// Using while loop
var x = 0
while x < MyValues.count {
print(MyValues[x])
x += 1
}
输出
Array:
2.0
3.3
3.1
2.4
0.21
0.42
1.7
1.203
8.9
在上面的代码中,我们有一个双数的数组。然后运行一个while循环来遍历MyValues数组中的每个元素,并显示m。这里,x代表元素的索引,所以在每一次遍历中,x的值增加1来移动到下一个元素。这个循环一直持续到数组的结束。
方法4:使用enumerated()函数
我们也可以使用enumerated()函数来迭代给定数组的每个元素。这个函数返回一个pair(a, b)的序列,其中’a’代表从0开始的连续整数,’b’代表给定数组的一个元素。
语法
func enumerated()
在这里,该函数不接受任何参数。
例子
下面的Swift程序是对一个数组进行迭代。
import Foundation
import Glibc
// Creating an array of integer type
let MyString = ["oo", "pp", "ee", "ww", "ss", "qq", "ll", "rr", "tt"]
print("Array elements along with their index:")
// Iterate over the elements of the array
// Using enumerated() function
for (indexVal, ele) in MyString.enumerated()
{
print("Element [\(indexVal)]: \(ele)")
}
输出
Array elements along with their index:
Element [0]: oo
Element [1]: pp
Element [2]: ee
Element [3]: ww
Element [4]: ss
Element [5]: qq
Element [6]: ll
Element [7]: rr
Element [8]: tt
在上述代码中,我们有一个字符串类型的数组。然后我们运行一个for循环和enumerated()函数。这里,enumerated()函数返回两个值,即索引值和给定数组中的元素。
总结
这就是我们如何对数组进行迭代。所有讨论的方法都很好用,你可以根据你的要求使用任何一种方法。