在swift中把Dictionary转换成键和值的数组的教程及实例

333 阅读2分钟

本教程介绍了如何在Swift中转换字典中的键和值数组。

Dictionary是一种存储特定类型的键和值的类型。

它类似于java中存储键和值的Hashtable。

Dictionary是无序的,所以数组中的键和值的输出是无序的。

在Swift中,有两种类型用于存储键和值对。

Dictionary:在Swift语言中,它是一个包含特定类型的结构。NSDictionary 。在Objective C中,它是一个没有类型的类。

两者的使用和工作方式都是一样的。

在swift中把字典的键转换为数组的值?

  • 使用keys属性的Dictionary提供了一个keys方法来返回所有的keys,这些值传递给Array构造函数来返回一个keys数组。

下面是一个将字典中的键值转换成数组的例子

let emp: [Int: String] = [1: "john", 2: "franc", 3: "andrew"]

print(emp)
var keyArray=Array(emp.keys);
print(keyArray)

输出:

[2: "franc", 3: "andrew", 1: "john"]
[2, 3, 1]

你也可以在循环中使用for-in来迭代并将键添加到数组中。 首先,创建一个用于保存键值的Array int。 在for in循环中使用键和值对的语法迭代map,使用数组append方法将每个值添加到数组中。

var keyArray = [Int]()

for (key, _) in emp {
    keyArray.append(key)
}
print(keyArray)

在swift中把字典的值转换成数组的值?

  • 使用values属性的Dictionary提供了values方法,该方法传递给Array构造函数以返回一个数组。 下面是一个将Dictionary的值转换成数组的例子
let emp: [Int: String] = [1: "john", 2: "franc", 3: "andrew"]

print(emp)
var valueArray=Array(emp.values);

print(valueArray)

输出:

[2: "franc", 3: "andrew", 1: "john"]
["franc", "andrew", "john"]
  • 使用append和for-in循环 你也可以使用for-in循环来迭代并向数组中添加值。 首先,创建一个字符串类型的数组来保存字典中的值。 在for-in循环中使用键和值对的语法迭代地图,将每个值添加到一个数组中。
var valueArray = [String]()

for (_, value) in emp {
    valueArray.append("\(value) ")
}
print(valueArray)

总结

学习了使用keys和value属性、for-in循环和Array append方法将Dictionary转换成键和值的数组的多种方法。