Как удалить элемент в массиве? [Дубликат]
На этот вопрос уже есть ответ здесь:
Сбой RemoveAtIndex из массива swift 5 ответовЯ кодирую сстрижи путай с одной проблемой. Я столкнулсяОшибка индекса вне диапазона когда я пытаюсь удалить один элемент из массива во время перечисления массива.
Вот мои коды ошибок:
var array :[Int] = [0,1,2,3,4,5]
for (index, number) in array.enumerate() {
if array[index] == 2 {
array.removeAtIndex(index) // Fatal error: Index out of range
}
}
Означает ли это, что array.enumerate () не вызывается во время каждого цикла for?
Я должен изменить свои коды следующим образом:
for number in array {
if number == 2 || number == 5 {
array.removeAtIndex(array.indexOf(number)!)
}
}
Или же
var index = 0
repeat {
if array[index] == 2 || array[index] == 4 {
array.removeAtIndex(index)
}
index += 1
} while(index < array.count)