过滤对象数组中的两个值

PaF*_*aFi 1 arrays contains filter swift

我有一个对象数组,我想通过两个条件过滤它们,如果对象在某个组中,或者它有某个名称,但我不知道为什么它不起作用。

这是我的代码:

let outputfiler = array.filter({$0.group.contains (where: {$0 == "groupBig" }) } || $1.name.contains(where: {$1 == "Eis"})  )
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

闭包中不包含匿名闭包参数

编辑:组是一个字符串数组,名称只是一个字符串。

我也试过这个:

outputfiler = array.filter{$0.group.contains (where: {$0 == "groupBig" }) || $0.name(where: {$0 == "Eis"}) }
Run Code Online (Sandbox Code Playgroud)

但是后来我收到了这个错误:

Extraneous argument label 'where:' in call
Run Code Online (Sandbox Code Playgroud)

rma*_*ddy 5

您需要如下过滤器(为清晰起见,显示在多行上):

let outputfiler = array.filter({
    $0.group.contains(where: { $0 == "groupBig" }) || 
    $0.name.contains("Eis")
})
Run Code Online (Sandbox Code Playgroud)

}||. 假设name是 a Stringcontains只需要搜索字符串,而不是闭包。