在Swift中,如何检查数组中是否存在元素?Xcode对包含、包含、或具有,没有任何建议,在书中快速搜索没有发现任何结果。你知道怎么检查这个吗?我知道有一个方法find返回索引号,但是有没有一个方法像ruby的#include?那样返回布尔值
我需要的示例:
var元素=[1,2,3,4,5]
if元素。包含(5){
//做点什么
}
Swift 2、3、4、5:
让元素=[1,2,3,4,5]
if元素。包含(5){
打印(“是”)
}
contains()是SequenceType的协议扩展方法(用于相等的元素的序列),而不是中的全局方法
早期版本
备注:
- 此
contains()方法要求序列元素
采用equalable协议,比较安德鲁斯的答案等 - 如果序列元素是
NSObject子类的实例
然后必须重写isEqual:,请参见Swift中的NSObject子类:hash vs hashValue,isEqual vs== - 还有另一个更一般的方法–
contains()方法,它不要求元素是可等式的,并将谓词作为
参数,请参见例如测试Swift?数组中是否存在对象的速记
Swift旧版本:
让元素=[1,2,3,4,5]
如果包含(元素,5){
println(“是”)
}