Я кодирую Swift, и смутитесь с одной проблемой. Я столкнулся с Индекс вне диапазона Ошибка, когда я пытаюсь удалить один элемент из массива во время перечисления массива.Как удалить элемент в массиве?
Вот мои коды ошибок:
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 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)
Ваш подсчет является 5 после удаления индекса 2, но Ваш индекс когда вы перечисляете значение счета 6 – Happiehappie
, вы хотите удалить несколько элементов или один элемент? –
Я хочу удалить элементы, если условие. – Kevin