何时对 Swift 中的数组使用枚举?

When to use enumerate for arrays in Swift?

我注意到当您尝试在循环中删除或改变数组项时会发生奇怪的事情。但是,在数组上调用 enumerate() 时,它会按预期工作。它背后的概念是什么,我们什么时候应该使用enumerate()

要回答标题中的问题,当除了值本身之外还需要值的索引时,您可以使用 enumerate()

If you need the integer index of each item as well as its value, use the enumerate() method to iterate over the array instead.

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"
    }
}