我注意到当你试图在循环中移除或改变数组项时,会发生奇怪的事情。但是,在对数组调用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/

10-12 00:48