小编Jon*_*aul的帖子

使用Swift中的值数组按属性过滤对象数组

使用值数组过滤基于其中一个属性的对象数组的最有效方法是什么?我可以遍历这些项目,但我不禁想到使用Array.filter和Array.contains是一种非常有效的方法 - 我只是不够精通Swift才能将各个部分放在一起.

例如,如果我有一个包含Book对象的数组,每个对象都有一个String author属性,我将如何过滤它以仅显示John Smith,Arthur Price或David Jones的书籍?

有点像:

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})})
Run Code Online (Sandbox Code Playgroud)

arrays contains filter swift

5
推荐指数
3
解决办法
9093
查看次数

标签 统计

arrays ×1

contains ×1

filter ×1

swift ×1