是否有一个函数,我可以使用迭代数组,并有索引和元素,像Python的枚举?
for index, element in enumerate(list):
...
是否有一个函数,我可以使用迭代数组,并有索引和元素,像Python的枚举?
for index, element in enumerate(list):
...
当前回答
在iOS 8.0/Swift 4.0+
你可以使用forEach 根据苹果文档:
返回一个对序列(n, x),其中n表示从0开始的连续整数,x表示序列中的一个元素。
let numberWords = ["one", "two", "three"]
numberWords.enumerated().forEach { (key, value) in
print("Key: \(key) - Value: \(value)")
}
其他回答
从Swift 3开始,的确如此
for (index, element) in list.enumerated() {
print("Item \(index): \(element)")
}
在函数式编程中像这样使用. enumeration ():
list.enumerated().forEach { print($0.offset, $0.element) }
是的。从Swift 3.0开始,如果需要每个元素的索引及其值,可以使用enumeration()方法遍历数组。它返回一个由索引和数组中每个项的值组成的对序列。例如:
for (index, element) in list.enumerated() {
print("Item \(index): \(element)")
}
在Swift 3.0之前和Swift 2.0之后,函数被称为enumerate():
for (index, element) in list.enumerate() {
print("Item \(index): \(element)")
}
在Swift 2.0之前,enumerate是一个全局函数。
for (index, element) in enumerate(list) {
println("Item \(index): \(element)")
}
这是枚举循环公式:
for (index, value) in shoppingList.enumerate() {
print("Item \(index + 1): \(value)")
}
更多详情请点击这里。
从Swift 2开始,需要对集合调用enumerate函数,如下所示:
for (index, element) in list.enumerate() {
print("Item \(index): \(element)")
}