Having for example this list
list = [1, 2, 3, 4, 4]
I can filter out the elements which are equal to 4 like this.
Enum.reject(list, fn item -> item == 4 end)
Is there any way to obtain the rejected items? like [4, 4]
Something like:
rejected = Enum.get_rejected(list, fn item -> item == 4 end)
more_rejected = Enum.get_rejected(list, fn item -> item == 3 end)
remaining = list
I can achieve that right now iterating several times, like:
rejected = Enum.filter(list, fn item -> item == 4 end)
more_rejected = Enum.filter(list, fn item -> item == 3 end)
remaining = Enum.reject(list, fn item -> item != 4 and item != 3 end)