例如,如果我有一个包含Book对象的数组,每个对象都有一个String author属性,我将如何过滤它以仅显示John Smith,Arthur Price或DavID Jones的书籍?
有点像:
Class Book { var author : String = String()}var books : Array = [Book]()//books added elsewherelet authors = ["John Smith","Arthur Price","DavID Jones"]let filteredBooks = books.filter({authors.contains({(解决方法 我建议你按作者制作一本书的索引:let book = Book(author: "Arsen")let bookIndex = [book.author: [book]]as Book).author})})
bookIndex["Arsen"] // => [Books]
现在,您可以快速访问由作者过滤的图书:
var results = [Book]()for author in authors { if let books = bookIndex[author] { results += books }}results
对于多位作者:
总结以上是内存溢出为你收集整理的arrays – 使用Swift中的值数组按属性过滤对象数组全部内容,希望文章能够帮你解决arrays – 使用Swift中的值数组按属性过滤对象数组所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)