randomElement()
方法从字典中返回一个随机键值对。
示例
// Create a dictionary with three elements
var information = ["Charlie": 54, "Harvey": 38, "Donna": 34]
// get random element using randomElement()
var result = information.randomElement()!
// print updated dictionary
print(result)
// Output: (key: "Harvey", value: 38)
randomElement() 语法
randomElement()
方法的语法是:
dictionary.randomElement()
这里,dictionary 是 Dictionary
类的一个对象。
randomElement() 参数
randomElement()
方法不接受任何参数。
randomElement() 返回值
randomElement()
方法从字典中返回一个随机元素。
注意: randomElement()
方法返回一个可选值,因此我们需要解包它。有多种解包可选值的方法。要了解更多关于可选值的信息,请访问 Swift 可选值。
示例 1:Swift randomElement()
// Create a dictionary with three elements
var information = ["Carlos": 1999, "Judy": 1992, "Nelson": 1987]
// get random element without unwrapping optionals
print(information.randomElement())
// get random element after unwrapping optionals
print(information.randomElement()!)
输出
Optional((key: "Carlos", value: 1999)) (key: "Carlos", value: 1999)
在上面的示例中,我们创建了一个名为 information 的字典。请注意以下几点:
information.randomElement()
- 由于我们没有解包可选值,该方法返回Optional((key: "Carlos", value: 1999))
information.randomElement()!
- 由于我们使用!
强制解包可选值,该方法返回(key: "Carlos", value: 1999)
要了解有关强制解包的更多信息,请访问 Swift 中的可选值强制解包。
示例 2:将 ?? 运算符与 randomElement() 结合使用
// create a dictionary with two elements
var info1 = ["Uikit": 2001, "Swiftui": 2019]
// return random element from info1
print(info1.randomElement() ?? "Empty")
// create empty dictionary
var info2 = [String:Int]()
// return random element from info2
print(info2.randomElement() ?? "Empty")
输出
(key: "Swiftui", value: 2019) Empty
在此,nil合并运算符 ??
用于解包可选字典 info1 和 info2。如果它们包含值,则返回它们的值,否则返回默认值 "Empty"
。