How to remove multiple items from a swift array?
11,446
Solution 1
Given your array
var numbers = [1, 2, 3, 4]
and a Set
of indexes you want to remove
let indexesToRemove: Set = [1, 3]
You want to remove the values "2" and "4".
Just write
numbers = numbers
.enumerated()
.filter { !indexesToRemove.contains($0.offset) }
.map { $0.element }
Result
print(numbers) // [1, 3]
Solution 2
It's simple. delete items from the end.
First delete 3 and after that delete 1
Author by
Raffi
Updated on June 14, 2022Comments
-
Raffi almost 2 years
For example i have an array
var array = [1, 2, 3, 4]
I want to remove item at index 1 then at index 3 "let it be in a for loop".
But removing the item at index 1 will move the item at index 3 to index 2, thus messing up the second removal.
Any suggestions ?