Ios 基于键的Swift地图词典

Ios 基于键的Swift地图词典,ios,swift,dictionary,swift3,enumeration,Ios,Swift,Dictionary,Swift3,Enumeration,考虑字典: var dict : [String : String]! = ["12" : "This", "5" : "is", "52" : "a", "42" : "Test"] var keys = Array(dict.keys) var values : [String]! = [String]() for (_, key) in keys.enumerated() { values.append(dict[key]!) } 数组(dict.values)会产生与上面相

考虑字典:

var dict : [String : String]! = ["12" : "This", "5" : "is", "52" : "a", "42" : "Test"]

var keys = Array(dict.keys)

var values : [String]! = [String]()
for (_, key) in keys.enumerated() {
    values.append(dict[key]!)
}
数组(dict.values)
会产生与上面相同的结果吗

是否有更简单的方法根据
键映射
词典
,而不是
枚举它们

询问是因为我想使用相同的
映射不同的字典
以获取它们的值

PS:它不需要排序。

已编辑

考虑下面的json:

{
  "data": {
    "forecast_numbers": {
      "15": 6397822,
      "20": 985448,
      "76": 2499160,
      "130": 4480161
    },
    "actual_numbers": {
      "15": 6344454,
      "20": 1645125,
      "76": 1644789,
      "130": 2451170
    },
    "accuracy": {
      "15": -0.83415887469204,
      "20": 66.941837621062,
      "76": -34.18632660574,
      "130": -45.288350128489
    },
    "xaxis": {
      "15": "ABC",
      "20": "BCD",
      "76": "BNM",
      "130": "NNN"
    }
  }
}

我想根据
xaxis
值绘制
预测值
实际值
值。想知道除了使用
enumerated()
获取值之外,是否还有其他方法

查看更新的示例后,您的目的还不够清楚,但是如果您只想收集每个键的值,您可以编写如下内容:

let data = json["data"] as! [String: [String: Any]]
let result = data["xaxis"]!.map {($0.key, $0.value, data["forecast_numbers"]![$0.key]!, data["actual_numbers"]![$0.key]!)}
print(result) //->[("130", NNN, 4480161, 2451170), ("20", BCD, 985448, 1645125), ("76", BNM, 2499160, 1644789), ("15", ABC, 6397822, 6344454)]
假设您在
JSON
中有作为
[String:AnyObject]
的JSON数据


(还假设您的
json
从不包含一些损坏的数据。似乎使用了太多的

查看更新的示例,您的目的还不够清楚,但是如果您只想收集每个键的值,您可以编写如下内容:

let data = json["data"] as! [String: [String: Any]]
let result = data["xaxis"]!.map {($0.key, $0.value, data["forecast_numbers"]![$0.key]!, data["actual_numbers"]![$0.key]!)}
print(result) //->[("130", NNN, 4480161, 2451170), ("20", BCD, 985448, 1645125), ("76", BNM, 2499160, 1644789), ("15", ABC, 6397822, 6344454)]
假设您在
JSON
中有作为
[String:AnyObject]
的JSON数据


(还假设您的
json
从不包含一些损坏的数据。似乎使用了太多的

我不知道您想做什么,但使用
let values=Array(dict.values)会得到完全相同的结果
。你想从字典中获取所有值吗?@MartinR你应该这样回答。也许
让values=keys.map{dict[$0]?“}
就是你要找的?它将允许您为相同的键获取另一个字典的值。@Akaino:谢谢您的建议,但我更愿意等到问题得到澄清。我不知道您想做什么,但使用
let values=Array(dict.values)可以得到完全相同的结果
。你想从字典中获取所有值吗?@MartinR你应该这样回答。也许
让values=keys.map{dict[$0]?“}
就是你要找的?它将允许您为相同的键获取另一本词典的值。@Akaino:谢谢您的建议,但我更愿意等到问题澄清后。谢谢。我在找类似的东西:)谢谢。我在找类似的东西:)