1

I have got two arrays with objects.

var filteredData:[MainData] = [MainData]()
var removeData:[MainData] = [MainData]()

struct MainData {
    var open:NSTimeInterval
    var works = [Visit]()
}

I want remove data from filteredData using function filter with parameter filteredData.open == removeData.open

I can't filter two arrays with objects.

Nirav D
  • 71,513
  • 12
  • 161
  • 183
Piotr
  • 175
  • 1
  • 2
  • 11

1 Answers1

4

You can try like this, first get an Array of open from removeData array and check that it is contains object from the filteredData Array opens.

let opens = removeData.map { $0.open }
filteredData = filteredData.filter { !opens.contains($0.open) }
Nirav D
  • 71,513
  • 12
  • 161
  • 183