我注意到当你试图在循环中移除或改变数组项时,会发生奇怪的事情。但是,在对数组调用enumerate()
时执行此操作时,它会按预期工作。它背后的概念是什么?我们什么时候应该使用enumerate()
?
最佳答案
要回答标题中的问题,除了值本身之外,还需要值的索引时,可以使用enumerate()
:
如果需要每个项的整数索引及其值,请改用enumerate()
方法迭代数组。
for (index, value) in shoppingList.enumerate() {
print("Item \(index + 1): \(value)")
}
enumerate()
提供了一种安全的模式,用于在遍历数组元素时对其进行修改:for (index, (var value)) in shoppingList.enumerate() {
if value == "something" {
shoppingList[index] = "something-else"
}
}
关于arrays - 什么时候在Swift中对数组使用枚举?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36500385/