What is the most efficient way of filtering an array of objects based on one of their properties, using an array of values? I could iterate through the items, but I can't help thinking there's a really efficient way using Array.filter and Array.contains - I'm just not proficient enough with Swift to be able to put the pieces together.
For example, if I have an array containing Book objects, each of which has a String author property, how would I filter it to show only books by John Smith, Arthur Price or David Jones?
Something along the lines of:
Class Book {
var author : String = String()
}
var books : Array = [Book]()
//books added elsewhere
let authors = ["John Smith", "Arthur Price", "David Jones"]
let filteredBooks = books.filter({authors.contains({($0 as Book).author})})
Bookobject. After this action your search will be the most effective