一尘不染

如何检查元素是否在数组中

swift

在Swift中,如何检查数组中是否存在元素?Xcode没有针对contain,,include或的任何建议has,并且快速搜索本书不会发现任何结果。知道如何检查吗?我知道有一种方法find可以返回索引号,但是有没有一种方法可以返回像ruby一样的布尔值#include?

我需要的示例:

var elements = [1,2,3,4,5]
if elements.contains(5) {
  //do something
}

阅读 293

收藏
2020-07-07

共1个答案

一尘不染

斯威夫特2、3、4、5:

let elements = [1, 2, 3, 4, 5]
if elements.contains(5) {
    print("yes")
}

contains()是(用于元素序列的) 协议扩展方法
,而不是早期版本中的全局方法。SequenceTypeEquatable

备注:

  • contains()方法要求序列元素采用Equatable协议。
  • 如果序列元素是NSObject子类的实例,则必须重写isEqual:
  • 还有另一种更通用的contains()方法,该方法不需要元素是等价的,并且需要谓词作为参数,例如。

Swift旧版本:

let elements = [1,2,3,4,5]
if contains(elements, 5) {
    println("yes")
}
2020-07-07