小编典典

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

all

在 Swift 中,如何检查数组中是否存在元素?Xcode
没有任何关于containincludehas的建议,快速搜索这本书一无所获。知道如何检查吗?我知道有一种方法find可以返回索引号,但是有没有一种方法可以返回像
ruby​​’s 这样的布尔值#include?

我需要的示例:

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

阅读 67

收藏
2022-03-10

共1个答案

小编典典

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

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

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

评论:

  • contains()方法要求序列元素采用Equatable协议,比较例如Andrews’s answer。
  • 如果序列元素是NSObject子类的实例,那么您必须覆盖isEqual:
  • 还有另一种“更通用”的contains()方法,它不要求元素是相等的,并且将谓词作为参数

旧版本:

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