跳到主要内容

Swift字典的contains()方法

contains()方法用于检查字典中是否存在指定的键或值。

示例

var information = ["Sam": 1995, "Keane": 1980, "Hen": 2003]

// 检查"Hen"是否作为键存在
var result = information.contains { $0.key == "Hen" }

print(result)

// 输出: true

contains()语法

字典contains()方法的语法如下:

dictionary.contains{check}

这里,dictionaryDictionary类的对象。

contains()参数

contains()方法接受一个参数:

  • check - 一个检查键或值是否存在于dictionary中的闭包。

contains()返回值

contains()方法返回:

  • true - 如果字典中包含指定的键或值
  • false - 如果字典中不包含指定的键或值

示例 1:Swift字典contains()

var information = ["Charlie": 54, "Harvey": 38, "Donna": 34]

// 检查"Harvey"是否作为键存在
var result1 = information.contains { $0.key == "Harvey" }
print(result1)

// 检查34是否作为值存在
var result2 = information.contains { $0.value == 34 }
print(result2)

// 检查"harvey"是否作为键存在
var result3 = information.contains { $0.key == "harvey" }
print(result3)

输出

true
true
false

在上面的程序中,请注意闭包的定义,

{ $0.key == "Harvey" }

这是一个检查字典是否有"Harvey"键的简写闭包。

$0是指传递给闭包的第一个参数的快捷方式。

另外两个闭包定义也是检查键或值是否存在的简写闭包。

在这里,

  • "Harvey" 作为information中的键存在,所以该方法返回true
  • "34" 作为"Donna" 键的值存在,所以该方法返回true
  • "harvey" 不在information中,所以该方法返回false

示例 2:使用if...else的contains()

var information = ["Sam": 1995, "Keane": 1980, "Hen": 2003]

var result = information.contains { $0.key == "Hen" }

if result {
print("键存在")
}
else {
print("键不存在")
}

输出

键存在