在Swift中,如何检查数组中是否存在元素? Xcode没有任何建议包含,包括或具有,和快速搜索通过书没有什么。任何想法如何检查这个?我知道有一个方法find返回索引号,但有一个方法返回一个布尔类似ruby的#include?
我需要的示例:
var elements = [1,2,3,4,5] if elements.contains(5) { //do something }
Swift 2,3:
let elements = [1,5] if elements.contains(5) { print("yes") }
contains()是SequenceType
的协议扩展方法(用于可序列元素的序列),而不是全局方法
早期版本。
备注:
>这个contains()方法需要序列元素
采用Equatable协议,比较Andrews’s answer。
>如果序列元素是NSObject子类的实例
那么你必须覆盖isEqual :,参见NSObject subclass in Swift: hash vs hashValue,isEqual vs ==。
>有另一个 – 更一般的 – contains()方法,它不需要元素是等价的,并且使用谓词作为
参数。 Shorthand to test if an object exists in an array for Swift?。
Swift旧版本:
let elements = [1,5] if contains(elements,5) { println("yes") }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。