I am using subtracting
for getting un-common element which is working fine.
but not working if both array has different number of elements (count)
like
I have array
fileprivate var daysSelected:[Schedule.ScheduleDays] = [] {
didSet {
if let array = equipment.schedules?.map({$0.day}), Set(array).subtracting(Set(daysSelected)).count > 0{
debugPrint("After updated days ",array)
daySelectionChanged = true
} else {
daySelectionChanged = false
}
debugPrint("After updated days ",self.daysSelected)
}
}
enum ScheduleDays: String {
case everyday
case monday
case tuesday
case wednesday
case thursday
case friday
case saturday
case sunday
}
If array
has less element then daysSelected
it is returns 0
So Is there any work around that get un - common element from two array which has different count without check such a array.count > daysSelected
Example
Suppose daysSelected
has
- 0 : App.Schedule.ScheduleDays.tuesday
- 1 : App.Schedule.ScheduleDays.thursday
- 2 : App.Schedule.ScheduleDays.friday
- 3 : App.Schedule.ScheduleDays.saturday
- 4 : App.Schedule.ScheduleDays.sunday
- 5 : App.Schedule.ScheduleDays.wednesday
- 6 : App.Schedule.ScheduleDays.monday
and another set has
- 0 : App.Schedule.ScheduleDays.friday
- 1 : App.Schedule.ScheduleDays.saturday
- 2 : App.Schedule.ScheduleDays.sunday
- 3 : App.Schedule.ScheduleDays.tuesday
- 4 : App.Schedule.ScheduleDays.wednesday
When I
Set(equipment.schedules!.map({$0.day})).subtracting(Set(daysSelected))
0 elements
and
po Set(daysSelected).subtracting(Set(equipment.schedules!.map({$0.day})))
▿ 2 elements
- 0 : App.Schedule.ScheduleDays.thursday
- 1 : App.Schedule.ScheduleDays.monday