加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

数组 – 检查数组是否包含某些内容 – Swift 4

发布时间:2020-12-14 04:53:30 所属栏目:百科 来源:网络整理
导读:我发现.contains(Element)方法在我编写 Swift代码的最小经验中非常重要,并且很快意识到Apple改变了它… func contains(check:[[[Int]]],forElement: [[Int]]) - Bool { for element in check { if areEqual(element,forElement) { return true } } return fa
我发现.contains(Element)方法在我编写 Swift代码的最小经验中非常重要,并且很快意识到Apple改变了它…

func contains(check:[[[Int]]],forElement: [[Int]]) -> Bool {
    for element in check {
        if areEqual(element,forElement) {
            return true
        }
    }
    return false
}
func areEqual(_ a:[[Int]],_ b:[[Int]]) -> Bool {
    for i in 0..<a.count {
        if a[i] != b[i] {
            return false
        }
    }
    return true
}

我一直在搞乱一些大型数组,所以我用那个笨重的函数解决了我的问题.

发生了什么?

你如何使用the new way?

那里的例子很好,我确信他们打算这样做.

enum HTTPResponse {
    case ok
    case error(Int)
}

let lastThreeResponses: [HTTPResponse] = [.ok,.ok,.error(404)]
let hadError = lastThreeResponses.contains { element in
    if case .error = element {
        return true
    } else {
        return false
    }
}
// 'hadError' == true

解决方法

怎么用这个

let numbers = [1,2,3,4]
let contains = numbers.contains(where: { $0 == 3 })
//contains == true

要么

let strings = ["A","B","C","D"]
let contains = strings.contains(where: { $0 == "B" })
//contains == true

即使是像NSColor这样的其他物体

let colors: [NSColor] = [.red,.blue,.green]
contains = colors.contains(where: { $0 == .red })
//contains == true

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读