如何将数据字典转换为数组Swift?

时间:2017-08-01 20:04:10

标签: ios arrays swift dictionary mapping

我正在以字典词典的形式检索firebase数据:

 guard let data = snapshot.value as? [String: [String:Int]] else {

我正在尝试检索第一个键(?),如果它返回结果如下:

 "café-veritas": ["AmpleSeating": 1, "Organic": 1, "Quiet": 1, "AmpleOutletAccess": 1, "Couch": 1, "Loud": 1, "GlutenFree": 1, "FreeWifi": 1], 
 "cafe-myriade": ["Terasse": 1, "LaptopFriendly": 1, "Quiet": 1, "FreeWifi": 1, "FastWifi  ": 1, "GlutenFree": 1],

我正在尝试将咖啡馆的名称“café-veritas”和“cafe-myriade”放入一个阵列中。我被告知使用地图功能,但我不知道如何。会这样吗?

 let array = data.map { yelp IDs in yelpIDs}

我基本上是想把钥匙拿回去,所以它只是咖啡馆的名字。谢谢!

2 个答案:

答案 0 :(得分:1)

关于使用地图,我猜this page非常有用且可视化。

let names = data.map { return $0.key }
print(names)    // prints ["café-veritas", "cafe-myriade"]

答案 1 :(得分:0)

以下是一个如何实现它的示例:

var data : [String: [String:Int]]

data = ["first": ["value1": 1], "second": ["value2": 1]]

var array = data.map { $0.value }
var arr = array.flatMap { $0.keys.first }

print(arr)

将打印:

["value2", "value1"]