How to use removeObjectsInArray in swift

I have two arrays

var availableIndex: Int[] = [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14]
var answerIndex: Int[] = [1, 3, 10, 8]

I want to remove 1, 3, 10, 8 from the availableIndex array. I saw documentation on how to achieve it using removeObjectsInArray

availableIndex.removeObjectsInArray(answerIndex)

but I can not use this method, it gave me an error. I don’t know where my fault is. Sorry if my bad english

edit:

here is the error 'Int []' does not have a member named 'removeObjectsInArray'

+4
source share
2 answers

The right swifty way to do it

availableIndex = availableIndex.filter { value in
   !answerIndex.contains(value)
}

(will create a new filtered array only with values ​​not contained in answerIndex)

Of course, the best solution would be to convert answerIndexto Set.

removeObjectsInArray Obi-C (NSMutableArray).

Obj-C , NSMutableArray

var availableIndex: NSMutableArray = [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14]
var answerIndex: Int[] = [1, 3, 10, 8]

availableIndex.removeObjectsInArray(answerIndex)
+9

:

availableIndex.removeAll(where: { answerIndex.contains($0) })
0

Source: https://habr.com/ru/post/1545807/


All Articles