遍历数组,如果值存在则返回TRUE

时间:2019-01-03 08:57:27

标签: arrays swift

我想遍历数组,如果存在值,我想返回TRUE。

struct Loops {
    var loopStep: LoopStep
}

struct LoopStep {
    var template: [Template]
}

struct Template {
    var stepType: String
}

let templates: [Template]  = [Template(stepType: "FORM_ONE"), Template(stepType: "FORM_TWO")]
let loopStep = LoopStep(template: templates)

let incompleteSteps = [Loops(loopStep: loopStep)]

我已经使用reduce进行了尝试,但是无法使该语法起作用

let result = incompleteSteps.reduce(true, $0.loopStep.template.stepType == "FORM_ONE" )

1 个答案:

答案 0 :(得分:2)

您只需要使用contains(where:)来获得一个bool返回值,该值指示集合中是否存在与闭包匹配的元素。由于template本身也是Array,因此,如果要查找contains(where:)的数组是否包含任何{{1},则实际上需要嵌套两个Loops调用}的Loops数组包含具有匹配要求的template

Template