跳到主要内容

Swift字典的randomElement()方法

randomElement() 方法返回字典中的一个随机键-值对。

示例

// 创建一个包含三个元素的字典
var information = ["Charlie": 54, "Harvey": 38, "Donna": 34]

// 使用 randomElement() 获取随机元素
var result = information.randomElement()!

// 打印更新后的字典
print(result)

// 输出: (key: "Harvey", value: 38)

randomElement() 语法

randomElement() 方法的语法如下:

dictionary.randomElement()

这里,dictionaryDictionary 类的对象。

randomElement() 参数

randomElement() 方法不接受任何参数。

randomElement() 返回值

  • randomElement() 方法返回字典中的一个随机元素。

注意: randomElement() 方法返回一个可选值,因此我们需要对其进行解包。有不同的技巧来解包可选值。要了解更多关于可选值的信息,请访问 Swift 可选值

示例1:Swift randomElement()

// 创建一个包含三个元素的字典
var information = ["Carlos": 1999, "Judy": 1992, "Nelson": 1987]

// 获取随机元素,不解包可选值
print(information.randomElement())

// 获取随机元素,并解包可选值
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)

要了解更多关于强制解包的信息,请访问 强制解包可选值

示例2:使用 ?? 运算符与 randomElement()

// 创建一个包含两个元素的字典
var info1 = ["Uikit": 2001, "Swiftui": 2019]

// 从 info1 返回随机元素
print(info1.randomElement() ?? "Empty")

// 创建一个空字典
var info2 = [String:Int]()

// 从 info2 返回随机元素
print(info2.randomElement() ?? "Empty")

输出

(key: "Swiftui", value: 2019)
Empty

在这里,nil-coalescing operator ?? 解包了可选字典 info1info2,如果它们包含一个值,否则返回默认值 "Empty"