是否可以在使用一个等值对象字段的对象数组上使用包含? [复制]
Posted
技术标签:
【中文标题】是否可以在使用一个等值对象字段的对象数组上使用包含? [复制]【英文标题】:Is it possible to use Contains on an array of objects using one equatable object field? [duplicate] 【发布时间】:2020-10-29 09:13:49 【问题描述】:以下面的对象为例,是否可以使用数组“.contains”方法仅根据“number”字段检查该对象的数组是否包含特定的数字?
struct AvailableDay
var someField : someObject
var number : Int
数组:
var availableDay : [AvailableDay]
availableDay.contains(...) /*Just to absolutely clarify what I meant by "contains".*/
【问题讨论】:
【参考方案1】:使用contains(where:
availableDay.contains(where: $0.number == yourDesiredNumber)
或者,您可以通过 override
公平一致性来仅检查 number
属性,如下所示:
extension AvailableDay: Equatable
static func == (lhs: AvailableDay, rhs: AvailableDay) -> Bool lhs.number == rhs.number
【讨论】:
以上是关于是否可以在使用一个等值对象字段的对象数组上使用包含? [复制]的主要内容,如果未能解决你的问题,请参考以下文章